<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>LC</title>

<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<style type="text/css">
    /*!
*
* Twitter Bootstrap
*
*/
/*!
 * Bootstrap v3.3.6 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\002a";
}
.glyphicon-plus:before {
  content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
.glyphicon-cd:before {
  content: "\e201";
}
.glyphicon-save-file:before {
  content: "\e202";
}
.glyphicon-open-file:before {
  content: "\e203";
}
.glyphicon-level-up:before {
  content: "\e204";
}
.glyphicon-copy:before {
  content: "\e205";
}
.glyphicon-paste:before {
  content: "\e206";
}
.glyphicon-alert:before {
  content: "\e209";
}
.glyphicon-equalizer:before {
  content: "\e210";
}
.glyphicon-king:before {
  content: "\e211";
}
.glyphicon-queen:before {
  content: "\e212";
}
.glyphicon-pawn:before {
  content: "\e213";
}
.glyphicon-bishop:before {
  content: "\e214";
}
.glyphicon-knight:before {
  content: "\e215";
}
.glyphicon-baby-formula:before {
  content: "\e216";
}
.glyphicon-tent:before {
  content: "\26fa";
}
.glyphicon-blackboard:before {
  content: "\e218";
}
.glyphicon-bed:before {
  content: "\e219";
}
.glyphicon-apple:before {
  content: "\f8ff";
}
.glyphicon-erase:before {
  content: "\e221";
}
.glyphicon-hourglass:before {
  content: "\231b";
}
.glyphicon-lamp:before {
  content: "\e223";
}
.glyphicon-duplicate:before {
  content: "\e224";
}
.glyphicon-piggy-bank:before {
  content: "\e225";
}
.glyphicon-scissors:before {
  content: "\e226";
}
.glyphicon-bitcoin:before {
  content: "\e227";
}
.glyphicon-btc:before {
  content: "\e227";
}
.glyphicon-xbt:before {
  content: "\e227";
}
.glyphicon-yen:before {
  content: "\00a5";
}
.glyphicon-jpy:before {
  content: "\00a5";
}
.glyphicon-ruble:before {
  content: "\20bd";
}
.glyphicon-rub:before {
  content: "\20bd";
}
.glyphicon-scale:before {
  content: "\e230";
}
.glyphicon-ice-lolly:before {
  content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}
.glyphicon-education:before {
  content: "\e233";
}
.glyphicon-option-horizontal:before {
  content: "\e234";
}
.glyphicon-option-vertical:before {
  content: "\e235";
}
.glyphicon-menu-hamburger:before {
  content: "\e236";
}
.glyphicon-modal-window:before {
  content: "\e237";
}
.glyphicon-oil:before {
  content: "\e238";
}
.glyphicon-grain:before {
  content: "\e239";
}
.glyphicon-sunglasses:before {
  content: "\e240";
}
.glyphicon-text-size:before {
  content: "\e241";
}
.glyphicon-text-color:before {
  content: "\e242";
}
.glyphicon-text-background:before {
  content: "\e243";
}
.glyphicon-object-align-top:before {
  content: "\e244";
}
.glyphicon-object-align-bottom:before {
  content: "\e245";
}
.glyphicon-object-align-horizontal:before {
  content: "\e246";
}
.glyphicon-object-align-left:before {
  content: "\e247";
}
.glyphicon-object-align-vertical:before {
  content: "\e248";
}
.glyphicon-object-align-right:before {
  content: "\e249";
}
.glyphicon-triangle-right:before {
  content: "\e250";
}
.glyphicon-triangle-left:before {
  content: "\e251";
}
.glyphicon-triangle-bottom:before {
  content: "\e252";
}
.glyphicon-triangle-top:before {
  content: "\e253";
}
.glyphicon-console:before {
  content: "\e254";
}
.glyphicon-superscript:before {
  content: "\e255";
}
.glyphicon-subscript:before {
  content: "\e256";
}
.glyphicon-menu-left:before {
  content: "\e257";
}
.glyphicon-menu-right:before {
  content: "\e258";
}
.glyphicon-menu-down:before {
  content: "\e259";
}
.glyphicon-menu-up:before {
  content: "\e260";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #000;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 3px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 18px;
  margin-bottom: 18px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 18px;
  margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9px;
  margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9px;
}
.lead {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8px;
  margin: 36px 0 18px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 18px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 541px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9px 18px;
  margin: 0 0 18px;
  font-size: inherit;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #888;
  background-color: transparent;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 8.5px;
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
@media (min-width: 768px) {
  .container {
    width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
.row {
  margin-left: 0px;
  margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0px;
  padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 13.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 18px;
  font-size: 19.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 32px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 18px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-lg {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.form-group-lg select.form-control {
  height: 45px;
  line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 45px;
  min-height: 35px;
  padding: 11px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 40px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 25px;
}
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 541px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 1px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 17px;
  border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 2px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 30px;
  margin-bottom: 18px;
  border: 1px solid transparent;
}
@media (min-width: 541px) {
  .navbar {
    border-radius: 2px;
  }
}
@media (min-width: 541px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 0px;
  padding-left: 0px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 541px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 541px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 541px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 541px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 6px 0px;
  font-size: 17px;
  line-height: 18px;
  height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 541px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: 0px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 0px;
  padding: 9px 10px;
  margin-top: -2px;
  margin-bottom: -2px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 541px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 3px 0px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 18px;
}
@media (max-width: 540px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 18px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 541px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.navbar-form {
  margin-left: 0px;
  margin-right: 0px;
  padding: 10px 0px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: -1px;
  margin-bottom: -1px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 540px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 541px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: -1px;
  margin-bottom: -1px;
}
.navbar-btn.btn-sm {
  margin-top: 0px;
  margin-bottom: 0px;
}
.navbar-btn.btn-xs {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar-text {
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 541px) {
  .navbar-text {
    float: left;
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 541px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: 0px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #555;
}
@media (max-width: 540px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #080808;
  color: #fff;
}
@media (max-width: 540px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 18px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #5e5e5e;
}
.breadcrumb > .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 18px 0;
  border-radius: 2px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
.pager {
  padding-left: 0;
  margin: 18px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 18px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #000;
}
.alert {
  padding: 15px;
  margin-bottom: 18px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 18px;
  margin-bottom: 18px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 18px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 2px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 3px;
}
.well-sm {
  padding: 9px;
  border-radius: 1px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 2px 2px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*!
*
* Font Awesome
*
*/
/*!
 *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
code {
  color: #000;
}
pre {
  font-size: inherit;
  line-height: inherit;
}
label {
  font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.corner-all {
  border-radius: 2px;
}
.no-padding {
  padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer.  It allows the usage of flexible box 
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this 
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+ 
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.hbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.vbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
  /* Old browsers */
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  /* Modern browsers */
  flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
  width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
  /* Old browsers */
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
  /* Old browsers */
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  /* Modern browsers */
  flex: 2;
}
.box-group1 {
  /*  Deprecated */
  -webkit-box-flex-group: 1;
  -moz-box-flex-group: 1;
  box-flex-group: 1;
}
.box-group2 {
  /* Deprecated */
  -webkit-box-flex-group: 2;
  -moz-box-flex-group: 2;
  box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
  /* Old browsers */
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  /* Modern browsers */
  justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
  /* Old browsers */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  /* Modern browsers */
  justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
  /* Old browsers */
  -webkit-box-pack: baseline;
  -moz-box-pack: baseline;
  box-pack: baseline;
  /* Modern browsers */
  justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
  /* Old browsers */
  -webkit-box-pack: stretch;
  -moz-box-pack: stretch;
  box-pack: stretch;
  /* Modern browsers */
  justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
  /* Old browsers */
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  /* Modern browsers */
  align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
  /* Old browsers */
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  /* Modern browsers */
  align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
  /* Old browsers */
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  /* Modern browsers */
  align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
  /* Old browsers */
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  /* Modern browsers */
  align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
  /* Old browsers */
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  /* Modern browsers */
  align-items: stretch;
}
div.error {
  margin: 2em;
  text-align: center;
}
div.error > h1 {
  font-size: 500%;
  line-height: normal;
}
div.error > p {
  font-size: 200%;
  line-height: normal;
}
div.traceback-wrapper {
  text-align: left;
  max-width: 800px;
  margin: auto;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
body {
  background-color: #fff;
  /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow: visible;
}
body > #header {
  /* Initially hidden to prevent FLOUC */
  display: none;
  background-color: #fff;
  /* Display over codemirror */
  position: relative;
  z-index: 100;
}
body > #header #header-container {
  padding-bottom: 5px;
  padding-top: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body > #header .header-bar {
  width: 100%;
  height: 1px;
  background: #e7e7e7;
  margin-bottom: -1px;
}
@media print {
  body > #header {
    display: none !important;
  }
}
#header-spacer {
  width: 100%;
  visibility: hidden;
}
@media print {
  #header-spacer {
    display: none;
  }
}
#ipython_notebook {
  padding-left: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
@media (max-width: 991px) {
  #ipython_notebook {
    margin-left: 10px;
  }
}
#noscript {
  width: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  text-align: center;
  font-size: 22px;
  color: red;
  font-weight: bold;
}
#ipython_notebook img {
  height: 28px;
}
#site {
  width: 100%;
  display: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: auto;
}
@media print {
  #site {
    height: auto !important;
  }
}
/* Smaller buttons */
.ui-button .ui-button-text {
  padding: 0.2em 0.8em;
  font-size: 77%;
}
input.ui-button {
  padding: 0.3em 0.9em;
}
span#login_widget {
  float: right;
}
span#login_widget > .button,
#logout {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  background-image: none;
}
span#login_widget > .button.disabled:hover,
#logout.disabled:hover,
span#login_widget > .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget > .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget > .button.disabled:focus,
#logout.disabled:focus,
span#login_widget > .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget > .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget > .button.disabled.focus,
#logout.disabled.focus,
span#login_widget > .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget > .button.focus,
fieldset[disabled] #logout.focus {
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button .badge,
#logout .badge {
  color: #fff;
  background-color: #333;
}
.nav-header {
  text-transform: none;
}
#header > span {
  margin-top: 10px;
}
.modal_stretch .modal-dialog {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
  max-height: calc(100vh - 200px);
  overflow: auto;
  flex: 1;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 700px;
  }
}
@media (min-width: 768px) {
  select.form-control {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/*!
*
* IPython auth
*
*/
.center-nav {
  display: inline-block;
  margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
  background-color: none;
  display: inline;
}
.alternate_upload.form {
  padding: 0;
  margin: 0;
}
.alternate_upload input.fileinput {
  text-align: center;
  vertical-align: middle;
  display: inline;
  opacity: 0;
  z-index: 2;
  width: 12ex;
  margin-right: -12ex;
}
.alternate_upload .btn-upload {
  height: 22px;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
ul#tabs {
  margin-bottom: 4px;
}
ul#tabs a {
  padding-top: 6px;
  padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
  text-decoration: none;
}
ul.breadcrumb i.icon-home {
  font-size: 16px;
  margin-right: 4px;
}
ul.breadcrumb span {
  color: #5e5e5e;
}
.list_toolbar {
  padding: 4px 0 4px 0;
  vertical-align: middle;
}
.list_toolbar .tree-buttons {
  padding-top: 1px;
}
.dynamic-buttons {
  padding-top: 3px;
  display: inline-block;
}
.list_toolbar [class*="span"] {
  min-height: 24px;
}
.list_header {
  font-weight: bold;
  background-color: #EEE;
}
.list_placeholder {
  font-weight: bold;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
}
.list_container {
  margin-top: 4px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
.list_container > div {
  border-bottom: 1px solid #ddd;
}
.list_container > div:hover .list-item {
  background-color: red;
}
.list_container > div:last-child {
  border: none;
}
.list_item:hover .list_item {
  background-color: #ddd;
}
.list_item a {
  text-decoration: none;
}
.list_item:hover {
  background-color: #fafafa;
}
.list_header > div,
.list_item > div {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
.list_header > div input,
.list_item > div input {
  margin-right: 7px;
  margin-left: 14px;
  vertical-align: baseline;
  line-height: 22px;
  position: relative;
  top: -1px;
}
.list_header > div .item_link,
.list_item > div .item_link {
  margin-left: -1px;
  vertical-align: baseline;
  line-height: 22px;
}
.new-file input[type=checkbox] {
  visibility: hidden;
}
.item_name {
  line-height: 22px;
  height: 24px;
}
.item_icon {
  font-size: 14px;
  color: #5e5e5e;
  margin-right: 7px;
  margin-left: 7px;
  line-height: 22px;
  vertical-align: baseline;
}
.item_buttons {
  line-height: 1em;
  margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
  float: left;
}
.item_buttons > .btn,
.item_buttons > .btn-group,
.item_buttons > .input-group {
  margin-left: 5px;
}
.item_buttons .btn {
  min-width: 13ex;
}
.item_buttons .running-indicator {
  padding-top: 4px;
  color: #5cb85c;
}
.item_buttons .kernel-name {
  padding-top: 4px;
  color: #5bc0de;
  margin-right: 7px;
  float: left;
}
.toolbar_info {
  height: 24px;
  line-height: 24px;
}
.list_item input:not([type=checkbox]) {
  padding-top: 3px;
  padding-bottom: 3px;
  height: 22px;
  line-height: 14px;
  margin: 0px;
}
.highlight_text {
  color: blue;
}
#project_name {
  display: inline-block;
  padding-left: 7px;
  margin-left: -2px;
}
#project_name > .breadcrumb {
  padding: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  font-weight: bold;
}
#tree-selector {
  padding-right: 0px;
}
#button-select-all {
  min-width: 50px;
}
#select-all {
  margin-left: 7px;
  margin-right: 2px;
}
.menu_icon {
  margin-right: 2px;
}
.tab-content .row {
  margin-left: 0px;
  margin-right: 0px;
}
.folder_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f114";
}
.folder_icon:before.pull-left {
  margin-right: .3em;
}
.folder_icon:before.pull-right {
  margin-left: .3em;
}
.notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
}
.notebook_icon:before.pull-left {
  margin-right: .3em;
}
.notebook_icon:before.pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
  color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
  margin-left: .3em;
}
.file_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f016";
  position: relative;
  top: -2px;
}
.file_icon:before.pull-left {
  margin-right: .3em;
}
.file_icon:before.pull-right {
  margin-left: .3em;
}
#notebook_toolbar .pull-right {
  padding-top: 0px;
  margin-right: -1px;
}
ul#new-menu {
  left: auto;
  right: 0;
}
.kernel-menu-icon {
  padding-right: 12px;
  width: 24px;
  content: "\f096";
}
.kernel-menu-icon:before {
  content: "\f096";
}
.kernel-menu-icon-current:before {
  content: "\f00c";
}
#tab_content {
  padding-top: 20px;
}
#running .panel-group .panel {
  margin-top: 3px;
  margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
  background-color: #EEE;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
  text-decoration: none;
}
#running .panel-group .panel .panel-body {
  padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px;
  border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
  border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
  border-bottom: 0px;
}
.delete-button {
  display: none;
}
.duplicate-button {
  display: none;
}
.rename-button {
  display: none;
}
.shutdown-button {
  display: none;
}
.dynamic-instructions {
  display: inline-block;
  padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
  padding: 0px 5px;
}
.selected-keymap i.fa:before {
  content: "\f00c";
}
#mode-menu {
  overflow: auto;
  max-height: 20em;
}
.edit_app #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
  /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
  margin-bottom: -1px;
}
.dirty-indicator {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator.pull-left {
  margin-right: .3em;
}
.dirty-indicator.pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-dirty.pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-clean.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f00c";
}
.dirty-indicator-clean:before.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
  margin-left: .3em;
}
#filename {
  font-size: 16pt;
  display: table;
  padding: 0px 5px;
}
#current-mode {
  padding-left: 5px;
  padding-right: 5px;
}
#texteditor-backdrop {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media not print {
  #texteditor-backdrop {
    background-color: #EEE;
  }
}
@media print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container {
    padding: 0px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
  font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
  color: black;
}
.ansired {
  color: darkred;
}
.ansigreen {
  color: darkgreen;
}
.ansiyellow {
  color: #c4a000;
}
.ansiblue {
  color: darkblue;
}
.ansipurple {
  color: darkviolet;
}
.ansicyan {
  color: steelblue;
}
.ansigray {
  color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
  background-color: black;
}
.ansibgred {
  background-color: red;
}
.ansibggreen {
  background-color: green;
}
.ansibgyellow {
  background-color: yellow;
}
.ansibgblue {
  background-color: blue;
}
.ansibgpurple {
  background-color: magenta;
}
.ansibgcyan {
  background-color: cyan;
}
.ansibggray {
  background-color: gray;
}
div.cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  width: 100%;
  padding: 5px;
  /* This acts as a spacer between cells, that is outside the border */
  margin: 0px;
  outline: none;
  border-left-width: 1px;
  padding-left: 5px;
  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
  border-left-color: #90CAF9;
  border-left-color: #E3F2FD;
  border-left-width: 1px;
  padding-left: 5px;
  border-right-color: #E3F2FD;
  border-right-width: 1px;
  background: #E3F2FD;
}
@media print {
  div.cell.jupyter-soft-selected {
    border-color: transparent;
  }
}
div.cell.selected {
  border-color: #ababab;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
  div.cell.selected {
    border-color: transparent;
  }
}
div.cell.selected.jupyter-soft-selected {
  border-left-width: 0;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
  border-color: #66BB6A;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
  .edit_mode div.cell.selected {
    border-color: transparent;
  }
}
.prompt {
  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
  min-width: 14ex;
  /* This padding is tuned to match the padding on the CodeMirror editor. */
  padding: 0.4em;
  margin: 0px;
  font-family: monospace;
  text-align: right;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
  /* Don't highlight prompt number selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Use default cursor */
  cursor: default;
}
@media (max-width: 540px) {
  .prompt {
    text-align: left;
  }
}
div.inner_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
@-moz-document url-prefix() {
  div.inner_cell {
    overflow-x: hidden;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #f7f7f7;
  line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
  padding-top: 0;
  padding-bottom: 0;
}
div.unrecognized_cell {
  padding: 5px 5px 5px 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.unrecognized_cell .inner_cell {
  border-radius: 2px;
  padding: 5px;
  font-weight: bold;
  color: red;
  border: 1px solid #cfcfcf;
  background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
  color: inherit;
  text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 540px) {
  div.unrecognized_cell > div.prompt {
    display: none;
  }
}
div.code_cell {
  /* avoid page breaking on code cells when printing */
}
@media print {
  div.code_cell {
    page-break-inside: avoid;
  }
}
/* any special styling for code cells that are currently running goes here */
div.input {
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.input {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
  color: #303F9F;
  border-top: 1px solid transparent;
}
div.input_area > div.highlight {
  margin: 0.4em;
  border: none;
  padding: 0px;
  background-color: transparent;
}
div.input_area > div.highlight > pre {
  margin: 0px;
  border: none;
  padding: 0px;
  background-color: transparent;
}
/* The following gets added to the <head> if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
.CodeMirror {
  line-height: 1.21429em;
  /* Changed from 1em to our global default */
  font-size: 14px;
  height: auto;
  /* Changed to auto to autogrow */
  background: none;
  /* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
  overflow-y: hidden;
  overflow-x: auto;
}
.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  padding: 0.4em;
}
.CodeMirror-linenumber {
  padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.CodeMirror pre {
  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
  /* .CodeMirror-lines */
  padding: 0;
  border: 0;
  border-radius: 0;
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme

*/
.highlight-base {
  color: #000;
}
.highlight-variable {
  color: #000;
}
.highlight-variable-2 {
  color: #1a1a1a;
}
.highlight-variable-3 {
  color: #333333;
}
.highlight-string {
  color: #BA2121;
}
.highlight-comment {
  color: #408080;
  font-style: italic;
}
.highlight-number {
  color: #080;
}
.highlight-atom {
  color: #88F;
}
.highlight-keyword {
  color: #008000;
  font-weight: bold;
}
.highlight-builtin {
  color: #008000;
}
.highlight-error {
  color: #f00;
}
.highlight-operator {
  color: #AA22FF;
  font-weight: bold;
}
.highlight-meta {
  color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
  color: #00f;
}
.highlight-string-2 {
  color: #f50;
}
.highlight-qualifier {
  color: #555;
}
.highlight-bracket {
  color: #997;
}
.highlight-tag {
  color: #170;
}
.highlight-attribute {
  color: #00c;
}
.highlight-header {
  color: blue;
}
.highlight-quote {
  color: #090;
}
.highlight-link {
  color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
  color: #008000;
  font-weight: bold;
}
.cm-s-ipython span.cm-atom {
  color: #88F;
}
.cm-s-ipython span.cm-number {
  color: #080;
}
.cm-s-ipython span.cm-def {
  color: #00f;
}
.cm-s-ipython span.cm-variable {
  color: #000;
}
.cm-s-ipython span.cm-operator {
  color: #AA22FF;
  font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
  color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
  color: #333333;
}
.cm-s-ipython span.cm-comment {
  color: #408080;
  font-style: italic;
}
.cm-s-ipython span.cm-string {
  color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
  color: #f50;
}
.cm-s-ipython span.cm-meta {
  color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
  color: #555;
}
.cm-s-ipython span.cm-builtin {
  color: #008000;
}
.cm-s-ipython span.cm-bracket {
  color: #997;
}
.cm-s-ipython span.cm-tag {
  color: #170;
}
.cm-s-ipython span.cm-attribute {
  color: #00c;
}
.cm-s-ipython span.cm-header {
  color: blue;
}
.cm-s-ipython span.cm-quote {
  color: #090;
}
.cm-s-ipython span.cm-link {
  color: #00c;
}
.cm-s-ipython span.cm-error {
  color: #f00;
}
.cm-s-ipython span.cm-tab {
  background: url();
  background-position: right;
  background-repeat: no-repeat;
}
div.output_wrapper {
  /* this position must be relative to enable descendents to be absolute within it */
  position: relative;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
  /* ideally, this would be max-height, but FF barfs all over that */
  height: 24em;
  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
  width: 100%;
  overflow: auto;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
  margin: 0px;
  padding: 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
div.out_prompt_overlay {
  height: 100%;
  padding: 0px 0.4em;
  position: absolute;
  border-radius: 2px;
}
div.out_prompt_overlay:hover {
  /* use inner shadow to get border that is computed the same on WebKit/FF */
  -webkit-box-shadow: inset 0 0 1px #000;
  box-shadow: inset 0 0 1px #000;
  background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
  color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
  padding: 0px;
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.output_area .MathJax_Display {
  text-align: left !important;
}
div.output_area .rendered_html table {
  margin-left: 0;
  margin-right: 0;
}
div.output_area .rendered_html img {
  margin-left: 0;
  margin-right: 0;
}
div.output_area img,
div.output_area svg {
  max-width: 100%;
  height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
  max-width: none;
}
/* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
.output {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.output_area {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
div.output_area pre {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  color: black;
  background-color: transparent;
  border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
   the prompt div. */
div.output_subarea {
  overflow-x: auto;
  padding: 0.4em;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
  max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
  overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
   output types */
/* all text output has this class: */
div.output_text {
  text-align: left;
  color: #000;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
  background: #fdd;
  /* very light red background for stderr */
}
div.output_latex {
  text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
  padding: 0;
}
.js-error {
  color: darkred;
}
/* raw_input styles */
div.raw_input_container {
  line-height: 1.21429em;
  padding-top: 5px;
}
pre.raw_input_prompt {
  /* nothing needed here. */
}
input.raw_input {
  font-family: monospace;
  font-size: inherit;
  color: inherit;
  width: auto;
  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;
  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0em 0.25em;
  margin: 0em 0.25em;
}
input.raw_input:focus {
  box-shadow: none;
}
p.p-space {
  margin-bottom: 10px;
}
div.output_unrecognized {
  padding: 5px;
  font-weight: bold;
  color: red;
}
div.output_unrecognized a {
  color: inherit;
  text-decoration: none;
}
div.output_unrecognized a:hover {
  color: inherit;
  text-decoration: none;
}
.rendered_html {
  color: #000;
  /* any extras will just be numbers: */
}
.rendered_html em {
  font-style: italic;
}
.rendered_html strong {
  font-weight: bold;
}
.rendered_html u {
  text-decoration: underline;
}
.rendered_html :link {
  text-decoration: underline;
}
.rendered_html :visited {
  text-decoration: underline;
}
.rendered_html h1 {
  font-size: 185.7%;
  margin: 1.08em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h2 {
  font-size: 157.1%;
  margin: 1.27em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h3 {
  font-size: 128.6%;
  margin: 1.55em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h4 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h5 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h6 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h1:first-child {
  margin-top: 0.538em;
}
.rendered_html h2:first-child {
  margin-top: 0.636em;
}
.rendered_html h3:first-child {
  margin-top: 0.777em;
}
.rendered_html h4:first-child {
  margin-top: 1em;
}
.rendered_html h5:first-child {
  margin-top: 1em;
}
.rendered_html h6:first-child {
  margin-top: 1em;
}
.rendered_html ul {
  list-style: disc;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ul ul {
  list-style: square;
  margin: 0em 2em;
}
.rendered_html ul ul ul {
  list-style: circle;
  margin: 0em 2em;
}
.rendered_html ol {
  list-style: decimal;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ol ol {
  list-style: upper-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol {
  list-style: lower-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol {
  list-style: lower-roman;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
  list-style: decimal;
  margin: 0em 2em;
}
.rendered_html * + ul {
  margin-top: 1em;
}
.rendered_html * + ol {
  margin-top: 1em;
}
.rendered_html hr {
  color: black;
  background-color: black;
}
.rendered_html pre {
  margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
  border: 0;
  background-color: #fff;
  color: #000;
  font-size: 100%;
  padding: 0px;
}
.rendered_html blockquote {
  margin: 1em 2em;
}
.rendered_html table {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid black;
  border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
  border: 1px solid black;
  border-collapse: collapse;
  margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
  text-align: left;
  vertical-align: middle;
  padding: 4px;
}
.rendered_html th {
  font-weight: bold;
}
.rendered_html * + table {
  margin-top: 1em;
}
.rendered_html p {
  text-align: left;
}
.rendered_html * + p {
  margin-top: 1em;
}
.rendered_html img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.rendered_html * + img {
  margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
  max-width: 100%;
  height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
  max-width: none;
}
div.text_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.text_cell > div.prompt {
    display: none;
  }
}
div.text_cell_render {
  /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
  outline: none;
  resize: none;
  width: inherit;
  border-style: none;
  padding: 0.5em 0.5em 0.5em 0.4em;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
a.anchor-link:link {
  text-decoration: none;
  padding: 0px 20px;
  visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
  visibility: visible;
}
.text_cell.rendered .input_area {
  display: none;
}
.text_cell.rendered .rendered_html {
  overflow-x: auto;
  overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
  display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
  font-weight: bold;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
  font-size: 185.7%;
}
.cm-header-2 {
  font-size: 157.1%;
}
.cm-header-3 {
  font-size: 128.6%;
}
.cm-header-4 {
  font-size: 110%;
}
.cm-header-5 {
  font-size: 100%;
  font-style: italic;
}
.cm-header-6 {
  font-size: 100%;
  font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
  .notebook_app {
    padding-left: 0px;
    padding-right: 0px;
  }
}
#ipython-main-app {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook_panel {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook {
  font-size: 14px;
  line-height: 20px;
  overflow-y: hidden;
  overflow-x: auto;
  width: 100%;
  /* This spaces the page away from the edge of the notebook area */
  padding-top: 20px;
  margin: 0px;
  outline: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 100%;
}
@media not print {
  #notebook-container {
    padding: 15px;
    background-color: #fff;
    min-height: 0;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
@media print {
  #notebook-container {
    width: 100%;
  }
}
div.ui-widget-content {
  border: 1px solid #ababab;
  outline: none;
}
pre.dialog {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0.4em;
  padding-left: 2em;
}
p.dialog {
  padding: 0.2em;
}
/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
pre,
code,
kbd,
samp {
  white-space: pre-wrap;
}
#fonttest {
  font-family: monospace;
}
p {
  margin-bottom: 0;
}
.end_space {
  min-height: 100px;
  transition: height .2s ease;
}
.notebook_app > #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
  .notebook_app {
    background-color: #EEE;
  }
}
kbd {
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  margin: 2px;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
  border: thin solid #CFCFCF;
  border-bottom: none;
  background: #EEE;
  border-radius: 2px 2px 0px 0px;
  width: 100%;
  height: 29px;
  padding-right: 4px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
  display: -webkit-flex;
}
@media print {
  .celltoolbar {
    display: none;
  }
}
.ctb_hideshow {
  display: none;
  vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
  display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border: 1px solid #cfcfcf;
}
.celltoolbar {
  font-size: 87%;
  padding-top: 3px;
}
.celltoolbar select {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  width: inherit;
  font-size: inherit;
  height: 22px;
  padding: 0px;
  display: inline-block;
}
.celltoolbar select:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
  color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
  color: #999;
}
.celltoolbar select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
  background-color: #eeeeee;
  opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
  cursor: not-allowed;
}
textarea.celltoolbar select {
  height: auto;
}
select.celltoolbar select {
  height: 30px;
  line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
  height: auto;
}
.celltoolbar label {
  margin-left: 5px;
  margin-right: 5px;
}
.completions {
  position: absolute;
  z-index: 110;
  overflow: hidden;
  border: 1px solid #ababab;
  border-radius: 2px;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  line-height: 1;
}
.completions select {
  background: white;
  outline: none;
  border: none;
  padding: 0px;
  margin: 0px;
  overflow: auto;
  font-family: monospace;
  font-size: 110%;
  color: #000;
  width: auto;
}
.completions select option.context {
  color: #286090;
}
#kernel_logo_widget {
  float: right !important;
  float: right;
}
#kernel_logo_widget .current_kernel_logo {
  display: none;
  margin-top: -1px;
  margin-bottom: -1px;
  width: 32px;
  height: 32px;
}
#menubar {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin-top: 1px;
}
#menubar .navbar {
  border-top: 1px;
  border-radius: 0px 0px 2px 2px;
  margin-bottom: 0px;
}
#menubar .navbar-toggle {
  float: left;
  padding-top: 7px;
  padding-bottom: 7px;
  border: none;
}
#menubar .navbar-collapse {
  clear: left;
}
.nav-wrapper {
  border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
  padding-top: 4px;
}
ul#help_menu li a {
  overflow: hidden;
  padding-right: 2.2em;
}
ul#help_menu li a i {
  margin-right: -1.2em;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
.dropdown-submenu > a:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  content: "\f0da";
  float: right;
  color: #333333;
  margin-top: 2px;
  margin-right: -10px;
}
.dropdown-submenu > a:after.pull-left {
  margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
  margin-left: .3em;
}
.dropdown-submenu:hover > a:after {
  color: #262626;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
}
#notification_area {
  float: right !important;
  float: right;
  z-index: 10;
}
.indicator_area {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#kernel_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
  padding-left: 5px;
  padding-right: 5px;
}
#modal_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#readonly-indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  margin-top: 2px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  display: none;
}
.modal_indicator:before {
  width: 1.28571429em;
  text-align: center;
}
.edit_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f040";
}
.edit_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f10c";
}
.kernel_idle_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f111";
}
.kernel_busy_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f1e2";
}
.kernel_dead_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f127";
}
.kernel_disconnected_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
  margin-left: .3em;
}
.notification_widget {
  color: #777;
  z-index: 10;
  background: rgba(240, 240, 240, 0.5);
  margin-right: 4px;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.notification_widget:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget .badge {
  color: #fff;
  background-color: #333;
}
.notification_widget.warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.notification_widget.warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.notification_widget.success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.notification_widget.success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.notification_widget.info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.notification_widget.info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.notification_widget.danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.notification_widget.danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger .badge {
  color: #d9534f;
  background-color: #fff;
}
div#pager {
  background-color: #fff;
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
  display: none;
  position: fixed;
  bottom: 0px;
  width: 100%;
  max-height: 50%;
  padding-top: 8px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  /* Display over codemirror */
  z-index: 100;
  /* Hack which prevents jquery ui resizable from changing top. */
  top: auto !important;
}
div#pager pre {
  line-height: 1.21429em;
  color: #000;
  background-color: #f7f7f7;
  padding: 0.4em;
}
div#pager #pager-button-area {
  position: absolute;
  top: 8px;
  right: 20px;
}
div#pager #pager-contents {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
div#pager #pager-contents #pager-container {
  position: relative;
  padding: 15px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
  top: 0px;
  height: 8px;
  background: #f7f7f7;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  /* This injects handle bars (a short, wide = symbol) for 
        the resize handle. */
}
div#pager .ui-resizable-handle::after {
  content: '';
  top: 2px;
  left: 50%;
  height: 3px;
  width: 30px;
  margin-left: -15px;
  position: absolute;
  border-top: 1px solid #cfcfcf;
}
.quickhelp {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  line-height: 1.8em;
}
.shortcut_key {
  display: inline-block;
  width: 20ex;
  text-align: right;
  font-family: monospace;
}
.shortcut_descr {
  display: inline-block;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
span.save_widget {
  margin-top: 6px;
}
span.save_widget span.filename {
  height: 1em;
  line-height: 1em;
  padding: 3px;
  margin-left: 16px;
  border: none;
  font-size: 146.5%;
  border-radius: 2px;
}
span.save_widget span.filename:hover {
  background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
  font-size: small;
}
@media (max-width: 767px) {
  span.save_widget {
    font-size: small;
  }
  span.checkpoint_status,
  span.autosave_status {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  span.checkpoint_status {
    display: none;
  }
  span.autosave_status {
    font-size: x-small;
  }
}
.toolbar {
  padding: 0px;
  margin-left: -5px;
  margin-top: 2px;
  margin-bottom: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
  width: auto;
  vertical-align: middle;
  margin-right: 2px;
  margin-bottom: 0px;
  display: inline;
  font-size: 92%;
  margin-left: 0.3em;
  margin-right: 0.3em;
  padding: 0px;
  padding-top: 3px;
}
.toolbar .btn {
  padding: 2px 8px;
}
.toolbar .btn-group {
  margin-top: 0px;
  margin-left: 5px;
}
#maintoolbar {
  margin-bottom: -3px;
  margin-top: -8px;
  border: 0px;
  min-height: 27px;
  margin-left: 0px;
  padding-top: 11px;
  padding-bottom: 3px;
}
#maintoolbar .navbar-text {
  float: none;
  vertical-align: middle;
  text-align: right;
  margin-left: 5px;
  margin-right: 0px;
  margin-top: 0px;
}
.select-xs {
  height: 24px;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
  background-color: #F37626;
  color: white;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
/*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
@-moz-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*properties of tooltip after "expand"*/
.bigtooltip {
  overflow: auto;
  height: 200px;
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 80px;
}
.tooltipbuttons {
  position: absolute;
  padding-right: 15px;
  top: 0px;
  right: 0px;
}
.tooltiptext {
  /*avoid the button to overlap on some docstring*/
  padding-right: 30px;
}
.ipython_tooltip {
  max-width: 700px;
  /*fade-in animation when inserted*/
  -webkit-animation: fadeOut 400ms;
  -moz-animation: fadeOut 400ms;
  animation: fadeOut 400ms;
  -webkit-animation: fadeIn 400ms;
  -moz-animation: fadeIn 400ms;
  animation: fadeIn 400ms;
  vertical-align: middle;
  background-color: #f7f7f7;
  overflow: visible;
  border: #ababab 1px solid;
  outline: none;
  padding: 3px;
  margin: 0px;
  padding-left: 7px;
  font-family: monospace;
  min-height: 50px;
  -moz-box-shadow: 0px 6px 10px -1px #adadad;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  border-radius: 2px;
  position: absolute;
  z-index: 1000;
}
.ipython_tooltip a {
  float: right;
}
.ipython_tooltip .tooltiptext pre {
  border: 0;
  border-radius: 0;
  font-size: 100%;
  background-color: #f7f7f7;
}
.pretooltiparrow {
  left: 0px;
  margin: 0px;
  top: -16px;
  width: 40px;
  height: 16px;
  overflow: hidden;
  position: absolute;
}
.pretooltiparrow:before {
  background-color: #f7f7f7;
  border: 1px #ababab solid;
  z-index: 11;
  content: "";
  position: absolute;
  left: 15px;
  top: 10px;
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
ul.typeahead-list i {
  margin-left: -10px;
  width: 18px;
}
ul.typeahead-list {
  max-height: 80vh;
  overflow: auto;
}
ul.typeahead-list > li > a {
  /** Firefox bug **/
  /* see https://github.com/jupyter/notebook/issues/559 */
  white-space: normal;
}
.cmd-palette .modal-body {
  padding: 7px;
}
.cmd-palette form {
  background: white;
}
.cmd-palette input {
  outline: none;
}
.no-shortcut {
  display: none;
}
.command-shortcut:before {
  content: "(command)";
  padding-right: 3px;
  color: #777777;
}
.edit-shortcut:before {
  content: "(edit)";
  padding-right: 3px;
  color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
  background-color: #BBDEFB;
  border-color: #90CAF9;
  border-style: solid;
  border-width: 1px;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
  background-color: #FFCDD2;
  border-color: #EF9A9A;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  border-radius: 0px;
}
#find-and-replace #replace-preview {
  max-height: 60vh;
  overflow: auto;
}
#find-and-replace #replace-preview pre {
  padding: 5px 10px;
}
.terminal-app {
  background: #EEE;
}
.terminal-app #header {
  background: #fff;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
  float: left;
  font-family: monospace;
  color: white;
  background: black;
  padding: 0.4em;
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
  line-height: 1em;
  font-size: 14px;
}
.terminal-app .terminal-cursor {
  color: black;
  background: white;
}
.terminal-app #terminado-container {
  margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
    </style>
<style type="text/css">
    .highlight .hll { background-color: #ffffcc }
.highlight  { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
    </style>
<style type="text/css">
    
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }

.ansi-bold { font-weight: bold; }

    </style>


<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}

div#notebook {
  overflow: visible;
  border-top: none;
}

@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
</style>

<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link rel="stylesheet" href="custom.css">

<!-- Loading mathjax macro -->
<!-- Load mathjax -->
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        "HTML-CSS": {
            styles: {'.MathJax_Display': {"margin": 0}},
            linebreaks: { automatic: true }
        }
    });
    </script>
    <!-- End of mathjax configuration --></head>
<body>
  <div tabindex="-1" id="notebook" class="border-box-sizing">
    <div class="container" id="notebook-container">

<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="1.-Data">1. Data<a class="anchor-link" href="#1.-Data">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Lending Club 2016年Q3数据：<a href="https://www.lendingclub.com/info/download-data.action">https://www.lendingclub.com/info/download-data.action</a></p>
<p>参考：<a href="http://kldavenport.com/lending-club-data-analysis-revisted-with-python/">http://kldavenport.com/lending-club-data-analysis-revisted-with-python/</a></p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[1]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span>
<span class="kn">import</span> <span class="nn">seaborn</span> <span class="kn">as</span> <span class="nn">sns</span>
<span class="o">%</span><span class="k">matplotlib</span> inline
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[2]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s2">&quot;./LoanStats_2016Q3.csv&quot;</span><span class="p">,</span><span class="n">skiprows</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">low_memory</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[3]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">info</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>&lt;class &#39;pandas.core.frame.DataFrame&#39;&gt;
RangeIndex: 99124 entries, 0 to 99123
Columns: 122 entries, id to sec_app_mths_since_last_major_derog
dtypes: float64(97), object(25)
memory usage: 92.3+ MB
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[4]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[4]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>id</th>
      <th>member_id</th>
      <th>loan_amnt</th>
      <th>funded_amnt</th>
      <th>funded_amnt_inv</th>
      <th>term</th>
      <th>int_rate</th>
      <th>installment</th>
      <th>grade</th>
      <th>sub_grade</th>
      <th>...</th>
      <th>sec_app_earliest_cr_line</th>
      <th>sec_app_inq_last_6mths</th>
      <th>sec_app_mort_acc</th>
      <th>sec_app_open_acc</th>
      <th>sec_app_revol_util</th>
      <th>sec_app_open_il_6m</th>
      <th>sec_app_num_rev_accts</th>
      <th>sec_app_chargeoff_within_12_mths</th>
      <th>sec_app_collections_12_mths_ex_med</th>
      <th>sec_app_mths_since_last_major_derog</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>15000.0</td>
      <td>15000.0</td>
      <td>15000.0</td>
      <td>36 months</td>
      <td>13.99%</td>
      <td>512.60</td>
      <td>C</td>
      <td>C3</td>
      <td>...</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>1</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>2600.0</td>
      <td>2600.0</td>
      <td>2600.0</td>
      <td>36 months</td>
      <td>8.99%</td>
      <td>82.67</td>
      <td>B</td>
      <td>B1</td>
      <td>...</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>2</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>32200.0</td>
      <td>32200.0</td>
      <td>32200.0</td>
      <td>60 months</td>
      <td>21.49%</td>
      <td>880.02</td>
      <td>D</td>
      <td>D5</td>
      <td>...</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
  </tbody>
</table>
<p>3 rows × 122 columns</p>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="2.-Keep-what-we-need">2. Keep what we need<a class="anchor-link" href="#2.-Keep-what-we-need">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[5]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># .ix[row slice, column slice] </span>
<span class="n">df</span><span class="o">.</span><span class="n">ix</span><span class="p">[:</span><span class="mi">4</span><span class="p">,:</span><span class="mi">7</span><span class="p">]</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[5]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>id</th>
      <th>member_id</th>
      <th>loan_amnt</th>
      <th>funded_amnt</th>
      <th>funded_amnt_inv</th>
      <th>term</th>
      <th>int_rate</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>15000.0</td>
      <td>15000.0</td>
      <td>15000.0</td>
      <td>36 months</td>
      <td>13.99%</td>
    </tr>
    <tr>
      <th>1</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>2600.0</td>
      <td>2600.0</td>
      <td>2600.0</td>
      <td>36 months</td>
      <td>8.99%</td>
    </tr>
    <tr>
      <th>2</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>32200.0</td>
      <td>32200.0</td>
      <td>32200.0</td>
      <td>60 months</td>
      <td>21.49%</td>
    </tr>
    <tr>
      <th>3</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>10000.0</td>
      <td>10000.0</td>
      <td>10000.0</td>
      <td>36 months</td>
      <td>11.49%</td>
    </tr>
    <tr>
      <th>4</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>6000.0</td>
      <td>6000.0</td>
      <td>6000.0</td>
      <td>36 months</td>
      <td>13.49%</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[6]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;id&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;member_id&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[7]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">int_rate</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">int_rate</span><span class="p">)</span><span class="o">.</span><span class="n">str</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;%&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">float</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[8]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">ix</span><span class="p">[:</span><span class="mi">4</span><span class="p">,:</span><span class="mi">7</span><span class="p">]</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[8]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>loan_amnt</th>
      <th>funded_amnt</th>
      <th>funded_amnt_inv</th>
      <th>term</th>
      <th>int_rate</th>
      <th>installment</th>
      <th>grade</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>15000.0</td>
      <td>15000.0</td>
      <td>15000.0</td>
      <td>36 months</td>
      <td>13.99</td>
      <td>512.60</td>
      <td>C</td>
    </tr>
    <tr>
      <th>1</th>
      <td>2600.0</td>
      <td>2600.0</td>
      <td>2600.0</td>
      <td>36 months</td>
      <td>8.99</td>
      <td>82.67</td>
      <td>B</td>
    </tr>
    <tr>
      <th>2</th>
      <td>32200.0</td>
      <td>32200.0</td>
      <td>32200.0</td>
      <td>60 months</td>
      <td>21.49</td>
      <td>880.02</td>
      <td>D</td>
    </tr>
    <tr>
      <th>3</th>
      <td>10000.0</td>
      <td>10000.0</td>
      <td>10000.0</td>
      <td>36 months</td>
      <td>11.49</td>
      <td>329.72</td>
      <td>B</td>
    </tr>
    <tr>
      <th>4</th>
      <td>6000.0</td>
      <td>6000.0</td>
      <td>6000.0</td>
      <td>36 months</td>
      <td>13.49</td>
      <td>203.59</td>
      <td>C</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Loan-Amount-Requested-Verus-the-Funded-Amount">Loan Amount Requested Verus the Funded Amount<a class="anchor-link" href="#Loan-Amount-Requested-Verus-the-Funded-Amount">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[9]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">loan_amnt</span> <span class="o">!=</span> <span class="n">df</span><span class="o">.</span><span class="n">funded_amnt</span><span class="p">)</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>False    99120
True         4
dtype: int64
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[10]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="s1">&#39;loan_amnt != funded_amnt&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[10]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>loan_amnt</th>
      <th>funded_amnt</th>
      <th>funded_amnt_inv</th>
      <th>term</th>
      <th>int_rate</th>
      <th>installment</th>
      <th>grade</th>
      <th>sub_grade</th>
      <th>emp_title</th>
      <th>emp_length</th>
      <th>...</th>
      <th>sec_app_earliest_cr_line</th>
      <th>sec_app_inq_last_6mths</th>
      <th>sec_app_mort_acc</th>
      <th>sec_app_open_acc</th>
      <th>sec_app_revol_util</th>
      <th>sec_app_open_il_6m</th>
      <th>sec_app_num_rev_accts</th>
      <th>sec_app_chargeoff_within_12_mths</th>
      <th>sec_app_collections_12_mths_ex_med</th>
      <th>sec_app_mths_since_last_major_derog</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>99120</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>...</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>99121</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>...</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>99122</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>...</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>99123</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>...</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
  </tbody>
</table>
<p>4 rows × 120 columns</p>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[11]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">dropna</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">how</span><span class="o">=</span><span class="s1">&#39;all&#39;</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[12]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">info</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>&lt;class &#39;pandas.core.frame.DataFrame&#39;&gt;
Int64Index: 99120 entries, 0 to 99119
Columns: 120 entries, loan_amnt to sec_app_mths_since_last_major_derog
dtypes: float64(97), object(23)
memory usage: 91.5+ MB
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[13]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">dropna</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">how</span><span class="o">=</span><span class="s1">&#39;all&#39;</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[14]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">info</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>&lt;class &#39;pandas.core.frame.DataFrame&#39;&gt;
Int64Index: 99120 entries, 0 to 99119
Columns: 108 entries, loan_amnt to total_il_high_credit_limit
dtypes: float64(85), object(23)
memory usage: 82.4+ MB
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[15]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">ix</span><span class="p">[:</span><span class="mi">5</span><span class="p">,</span><span class="mi">8</span><span class="p">:</span><span class="mi">15</span><span class="p">]</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[15]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>emp_title</th>
      <th>emp_length</th>
      <th>home_ownership</th>
      <th>annual_inc</th>
      <th>verification_status</th>
      <th>issue_d</th>
      <th>loan_status</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>Fiscal Director</td>
      <td>2 years</td>
      <td>RENT</td>
      <td>55000.0</td>
      <td>Not Verified</td>
      <td>Sep-16</td>
      <td>Current</td>
    </tr>
    <tr>
      <th>1</th>
      <td>Loaner Coordinator</td>
      <td>3 years</td>
      <td>RENT</td>
      <td>35000.0</td>
      <td>Source Verified</td>
      <td>Sep-16</td>
      <td>Fully Paid</td>
    </tr>
    <tr>
      <th>2</th>
      <td>warehouse/supervisor</td>
      <td>10+ years</td>
      <td>MORTGAGE</td>
      <td>65000.0</td>
      <td>Not Verified</td>
      <td>Sep-16</td>
      <td>Fully Paid</td>
    </tr>
    <tr>
      <th>3</th>
      <td>Teacher</td>
      <td>10+ years</td>
      <td>OWN</td>
      <td>55900.0</td>
      <td>Not Verified</td>
      <td>Sep-16</td>
      <td>Current</td>
    </tr>
    <tr>
      <th>4</th>
      <td>SERVICE MGR</td>
      <td>5 years</td>
      <td>RENT</td>
      <td>33000.0</td>
      <td>Not Verified</td>
      <td>Sep-16</td>
      <td>Current</td>
    </tr>
    <tr>
      <th>5</th>
      <td>General Manager</td>
      <td>10+ years</td>
      <td>MORTGAGE</td>
      <td>109000.0</td>
      <td>Source Verified</td>
      <td>Sep-16</td>
      <td>Current</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="emp_title:-employment-title">emp_title: employment title<a class="anchor-link" href="#emp_title:-employment-title">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[16]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">df</span><span class="o">.</span><span class="n">emp_title</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
<span class="k">print</span> <span class="n">df</span><span class="o">.</span><span class="n">emp_title</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">tail</span><span class="p">()</span>
<span class="n">df</span><span class="o">.</span><span class="n">emp_title</span><span class="o">.</span><span class="n">unique</span><span class="p">()</span><span class="o">.</span><span class="n">shape</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>Teacher       1931
Manager       1701
Owner          990
Supervisor     785
Driver         756
Name: emp_title, dtype: int64
Agent Services Representative           1
Operator Bridge Tunnel                  1
Reg Medical Assistant/Referral Spec.    1
Home Health Care                        1
rounds cook                             1
Name: emp_title, dtype: int64
</pre>
</div>
</div>

<div class="output_area"><div class="prompt output_prompt">Out[16]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>(37421,)</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[17]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">([</span><span class="s1">&#39;emp_title&#39;</span><span class="p">],</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[18]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">ix</span><span class="p">[:</span><span class="mi">5</span><span class="p">,</span><span class="mi">8</span><span class="p">:</span><span class="mi">15</span><span class="p">]</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[18]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>emp_length</th>
      <th>home_ownership</th>
      <th>annual_inc</th>
      <th>verification_status</th>
      <th>issue_d</th>
      <th>loan_status</th>
      <th>pymnt_plan</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>2 years</td>
      <td>RENT</td>
      <td>55000.0</td>
      <td>Not Verified</td>
      <td>Sep-16</td>
      <td>Current</td>
      <td>n</td>
    </tr>
    <tr>
      <th>1</th>
      <td>3 years</td>
      <td>RENT</td>
      <td>35000.0</td>
      <td>Source Verified</td>
      <td>Sep-16</td>
      <td>Fully Paid</td>
      <td>n</td>
    </tr>
    <tr>
      <th>2</th>
      <td>10+ years</td>
      <td>MORTGAGE</td>
      <td>65000.0</td>
      <td>Not Verified</td>
      <td>Sep-16</td>
      <td>Fully Paid</td>
      <td>n</td>
    </tr>
    <tr>
      <th>3</th>
      <td>10+ years</td>
      <td>OWN</td>
      <td>55900.0</td>
      <td>Not Verified</td>
      <td>Sep-16</td>
      <td>Current</td>
      <td>n</td>
    </tr>
    <tr>
      <th>4</th>
      <td>5 years</td>
      <td>RENT</td>
      <td>33000.0</td>
      <td>Not Verified</td>
      <td>Sep-16</td>
      <td>Current</td>
      <td>n</td>
    </tr>
    <tr>
      <th>5</th>
      <td>10+ years</td>
      <td>MORTGAGE</td>
      <td>109000.0</td>
      <td>Source Verified</td>
      <td>Sep-16</td>
      <td>Current</td>
      <td>n</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="emp_length:-employment-length">emp_length: employment length<a class="anchor-link" href="#emp_length:-employment-length">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[19]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">emp_length</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[19]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>10+ years    34219
2 years       9066
3 years       7925
&lt; 1 year      7104
1 year        6991
5 years       6170
4 years       6022
n/a           5922
6 years       4406
8 years       4168
9 years       3922
7 years       3205
Name: emp_length, dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[20]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;n/a&#39;</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">emp_length</span><span class="o">.</span><span class="n">fillna</span><span class="p">(</span><span class="n">value</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="p">[</span><span class="s1">&#39;emp_length&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">to_replace</span><span class="o">=</span><span class="s1">&#39;[^0-9]+&#39;</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">regex</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="p">[</span><span class="s1">&#39;emp_length&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="s1">&#39;emp_length&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">int</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[21]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">emp_length</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[21]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>10    34219
1     14095
2      9066
3      7925
5      6170
4      6022
0      5922
6      4406
8      4168
9      3922
7      3205
Name: emp_length, dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="verification-status:&quot;Indicates-if-income-was-verified-by-LC,-not-verified,-or-if-the-income-source-was-verified&quot;">verification status:"Indicates if income was verified by LC, not verified, or if the income source was verified"<a class="anchor-link" href="#verification-status:&quot;Indicates-if-income-was-verified-by-LC,-not-verified,-or-if-the-income-source-was-verified&quot;">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[22]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">verification_status</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[22]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>Source Verified    40781
Verified           31356
Not Verified       26983
Name: verification_status, dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Target:-Loan-Statuses">Target: Loan Statuses<a class="anchor-link" href="#Target:-Loan-Statuses">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[23]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">info</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>&lt;class &#39;pandas.core.frame.DataFrame&#39;&gt;
Int64Index: 99120 entries, 0 to 99119
Columns: 107 entries, loan_amnt to total_il_high_credit_limit
dtypes: float64(85), int64(1), object(21)
memory usage: 81.7+ MB
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[24]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">columns</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[24]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>Index([u&#39;loan_amnt&#39;, u&#39;funded_amnt&#39;, u&#39;funded_amnt_inv&#39;, u&#39;term&#39;, u&#39;int_rate&#39;,
       u&#39;installment&#39;, u&#39;grade&#39;, u&#39;sub_grade&#39;, u&#39;emp_length&#39;,
       u&#39;home_ownership&#39;,
       ...
       u&#39;num_tl_90g_dpd_24m&#39;, u&#39;num_tl_op_past_12m&#39;, u&#39;pct_tl_nvr_dlq&#39;,
       u&#39;percent_bc_gt_75&#39;, u&#39;pub_rec_bankruptcies&#39;, u&#39;tax_liens&#39;,
       u&#39;tot_hi_cred_lim&#39;, u&#39;total_bal_ex_mort&#39;, u&#39;total_bc_limit&#39;,
       u&#39;total_il_high_credit_limit&#39;],
      dtype=&#39;object&#39;, length=107)</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[25]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pd</span><span class="o">.</span><span class="n">unique</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="s1">&#39;loan_status&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">ravel</span><span class="p">())</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[25]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>array([&#39;Current&#39;, &#39;Fully Paid&#39;, &#39;Late (31-120 days)&#39;, &#39;Charged Off&#39;,
       &#39;Late (16-30 days)&#39;, &#39;In Grace Period&#39;, &#39;Default&#39;], dtype=object)</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[26]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">df</span><span class="o">.</span><span class="n">select_dtypes</span><span class="p">(</span><span class="n">include</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;object&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">columns</span><span class="p">:</span>
    <span class="k">print</span> <span class="p">(</span><span class="s2">&quot;Column {} has {} unique instances&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> <span class="n">col</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">col</span><span class="p">]</span><span class="o">.</span><span class="n">unique</span><span class="p">()))</span> <span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>Column term has 2 unique instances
Column grade has 7 unique instances
Column sub_grade has 35 unique instances
Column home_ownership has 4 unique instances
Column verification_status has 3 unique instances
Column issue_d has 3 unique instances
Column loan_status has 7 unique instances
Column pymnt_plan has 2 unique instances
Column desc has 6 unique instances
Column purpose has 13 unique instances
Column title has 13 unique instances
Column zip_code has 873 unique instances
Column addr_state has 50 unique instances
Column earliest_cr_line has 614 unique instances
Column revol_util has 1087 unique instances
Column initial_list_status has 2 unique instances
Column last_pymnt_d has 13 unique instances
Column next_pymnt_d has 4 unique instances
Column last_credit_pull_d has 14 unique instances
Column application_type has 3 unique instances
Column verification_status_joint has 2 unique instances
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[27]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 处理对象类型的缺失，unique</span>
<span class="n">df</span><span class="o">.</span><span class="n">select_dtypes</span><span class="p">(</span><span class="n">include</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;O&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span><span class="o">.</span><span class="n">T</span><span class="o">.</span>\
<span class="n">assign</span><span class="p">(</span><span class="n">missing_pct</span><span class="o">=</span><span class="n">df</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span> <span class="p">:</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">-</span><span class="n">x</span><span class="o">.</span><span class="n">count</span><span class="p">())</span><span class="o">/</span><span class="nb">float</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">))))</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[27]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>count</th>
      <th>unique</th>
      <th>top</th>
      <th>freq</th>
      <th>missing_pct</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>term</th>
      <td>99120</td>
      <td>2</td>
      <td>36 months</td>
      <td>73898</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>grade</th>
      <td>99120</td>
      <td>7</td>
      <td>C</td>
      <td>32846</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>sub_grade</th>
      <td>99120</td>
      <td>35</td>
      <td>B5</td>
      <td>8322</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>home_ownership</th>
      <td>99120</td>
      <td>4</td>
      <td>MORTGAGE</td>
      <td>46761</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>verification_status</th>
      <td>99120</td>
      <td>3</td>
      <td>Source Verified</td>
      <td>40781</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>issue_d</th>
      <td>99120</td>
      <td>3</td>
      <td>Aug-16</td>
      <td>36280</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>loan_status</th>
      <td>99120</td>
      <td>7</td>
      <td>Current</td>
      <td>79445</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>pymnt_plan</th>
      <td>99120</td>
      <td>2</td>
      <td>n</td>
      <td>99074</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>desc</th>
      <td>6</td>
      <td>5</td>
      <td></td>
      <td>2</td>
      <td>0.999939</td>
    </tr>
    <tr>
      <th>purpose</th>
      <td>99120</td>
      <td>13</td>
      <td>debt_consolidation</td>
      <td>57682</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>title</th>
      <td>93693</td>
      <td>12</td>
      <td>Debt consolidation</td>
      <td>53999</td>
      <td>0.054752</td>
    </tr>
    <tr>
      <th>zip_code</th>
      <td>99120</td>
      <td>873</td>
      <td>112xx</td>
      <td>1125</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>addr_state</th>
      <td>99120</td>
      <td>50</td>
      <td>CA</td>
      <td>13352</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>earliest_cr_line</th>
      <td>99120</td>
      <td>614</td>
      <td>Aug-03</td>
      <td>796</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>revol_util</th>
      <td>99060</td>
      <td>1086</td>
      <td>0%</td>
      <td>440</td>
      <td>0.000605</td>
    </tr>
    <tr>
      <th>initial_list_status</th>
      <td>99120</td>
      <td>2</td>
      <td>w</td>
      <td>71869</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>last_pymnt_d</th>
      <td>98991</td>
      <td>12</td>
      <td>Jun-17</td>
      <td>81082</td>
      <td>0.001301</td>
    </tr>
    <tr>
      <th>next_pymnt_d</th>
      <td>83552</td>
      <td>3</td>
      <td>Jul-17</td>
      <td>83527</td>
      <td>0.157062</td>
    </tr>
    <tr>
      <th>last_credit_pull_d</th>
      <td>99115</td>
      <td>13</td>
      <td>Jun-17</td>
      <td>89280</td>
      <td>0.000050</td>
    </tr>
    <tr>
      <th>application_type</th>
      <td>99120</td>
      <td>3</td>
      <td>INDIVIDUAL</td>
      <td>98565</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>verification_status_joint</th>
      <td>517</td>
      <td>1</td>
      <td>Not Verified</td>
      <td>517</td>
      <td>0.994784</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[28]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">revol_util</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">revol_util</span><span class="p">)</span><span class="o">.</span><span class="n">str</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;%&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">float</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[29]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># missing_pct</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;desc&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;verification_status_joint&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[30]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;zip_code&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;addr_state&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;earliest_cr_line&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;revol_util&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;purpose&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;title&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;term&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;issue_d&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="c1"># df.drop(&#39;&#39;,1,inplace=True)</span>
<span class="c1"># 贷后相关的字段</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">([</span><span class="s1">&#39;out_prncp&#39;</span><span class="p">,</span><span class="s1">&#39;out_prncp_inv&#39;</span><span class="p">,</span><span class="s1">&#39;total_pymnt&#39;</span><span class="p">,</span>
         <span class="s1">&#39;total_pymnt_inv&#39;</span><span class="p">,</span><span class="s1">&#39;total_rec_prncp&#39;</span><span class="p">,</span> <span class="s1">&#39;grade&#39;</span><span class="p">,</span> <span class="s1">&#39;sub_grade&#39;</span><span class="p">]</span> <span class="p">,</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">([</span><span class="s1">&#39;total_rec_int&#39;</span><span class="p">,</span><span class="s1">&#39;total_rec_late_fee&#39;</span><span class="p">,</span>
         <span class="s1">&#39;recoveries&#39;</span><span class="p">,</span><span class="s1">&#39;collection_recovery_fee&#39;</span><span class="p">,</span>
         <span class="s1">&#39;collection_recovery_fee&#39;</span> <span class="p">],</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">([</span><span class="s1">&#39;last_pymnt_d&#39;</span><span class="p">,</span><span class="s1">&#39;last_pymnt_amnt&#39;</span><span class="p">,</span>
         <span class="s1">&#39;next_pymnt_d&#39;</span><span class="p">,</span><span class="s1">&#39;last_credit_pull_d&#39;</span><span class="p">],</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">([</span><span class="s1">&#39;policy_code&#39;</span><span class="p">],</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[31]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">info</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>&lt;class &#39;pandas.core.frame.DataFrame&#39;&gt;
Int64Index: 99120 entries, 0 to 99119
Data columns (total 81 columns):
loan_amnt                         99120 non-null float64
funded_amnt                       99120 non-null float64
funded_amnt_inv                   99120 non-null float64
int_rate                          99120 non-null float64
installment                       99120 non-null float64
emp_length                        99120 non-null int64
home_ownership                    99120 non-null object
annual_inc                        99120 non-null float64
verification_status               99120 non-null object
loan_status                       99120 non-null object
pymnt_plan                        99120 non-null object
dti                               99120 non-null float64
delinq_2yrs                       99120 non-null float64
inq_last_6mths                    99120 non-null float64
mths_since_last_delinq            53366 non-null float64
mths_since_last_record            19792 non-null float64
open_acc                          99120 non-null float64
pub_rec                           99120 non-null float64
revol_bal                         99120 non-null float64
total_acc                         99120 non-null float64
initial_list_status               99120 non-null object
collections_12_mths_ex_med        99120 non-null float64
mths_since_last_major_derog       29372 non-null float64
application_type                  99120 non-null object
annual_inc_joint                  517 non-null float64
dti_joint                         517 non-null float64
acc_now_delinq                    99120 non-null float64
tot_coll_amt                      99120 non-null float64
tot_cur_bal                       99120 non-null float64
open_acc_6m                       99120 non-null float64
open_il_6m                        99120 non-null float64
open_il_12m                       99120 non-null float64
open_il_24m                       99120 non-null float64
mths_since_rcnt_il                96469 non-null float64
total_bal_il                      99120 non-null float64
il_util                           85480 non-null float64
open_rv_12m                       99120 non-null float64
open_rv_24m                       99120 non-null float64
max_bal_bc                        99120 non-null float64
all_util                          99114 non-null float64
total_rev_hi_lim                  99120 non-null float64
inq_fi                            99120 non-null float64
total_cu_tl                       99120 non-null float64
inq_last_12m                      99120 non-null float64
acc_open_past_24mths              99120 non-null float64
avg_cur_bal                       99120 non-null float64
bc_open_to_buy                    98010 non-null float64
bc_util                           97971 non-null float64
chargeoff_within_12_mths          99120 non-null float64
delinq_amnt                       99120 non-null float64
mo_sin_old_il_acct                96469 non-null float64
mo_sin_old_rev_tl_op              99120 non-null float64
mo_sin_rcnt_rev_tl_op             99120 non-null float64
mo_sin_rcnt_tl                    99120 non-null float64
mort_acc                          99120 non-null float64
mths_since_recent_bc              98067 non-null float64
mths_since_recent_bc_dlq          26018 non-null float64
mths_since_recent_inq             89254 non-null float64
mths_since_recent_revol_delinq    36606 non-null float64
num_accts_ever_120_pd             99120 non-null float64
num_actv_bc_tl                    99120 non-null float64
num_actv_rev_tl                   99120 non-null float64
num_bc_sats                       99120 non-null float64
num_bc_tl                         99120 non-null float64
num_il_tl                         99120 non-null float64
num_op_rev_tl                     99120 non-null float64
num_rev_accts                     99120 non-null float64
num_rev_tl_bal_gt_0               99120 non-null float64
num_sats                          99120 non-null float64
num_tl_120dpd_2m                  95661 non-null float64
num_tl_30dpd                      99120 non-null float64
num_tl_90g_dpd_24m                99120 non-null float64
num_tl_op_past_12m                99120 non-null float64
pct_tl_nvr_dlq                    99120 non-null float64
percent_bc_gt_75                  98006 non-null float64
pub_rec_bankruptcies              99120 non-null float64
tax_liens                         99120 non-null float64
tot_hi_cred_lim                   99120 non-null float64
total_bal_ex_mort                 99120 non-null float64
total_bc_limit                    99120 non-null float64
total_il_high_credit_limit        99120 non-null float64
dtypes: float64(74), int64(1), object(6)
memory usage: 62.0+ MB
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[32]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">ix</span><span class="p">[:</span><span class="mi">5</span><span class="p">,:</span><span class="mi">10</span><span class="p">]</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[32]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>loan_amnt</th>
      <th>funded_amnt</th>
      <th>funded_amnt_inv</th>
      <th>int_rate</th>
      <th>installment</th>
      <th>emp_length</th>
      <th>home_ownership</th>
      <th>annual_inc</th>
      <th>verification_status</th>
      <th>loan_status</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>15000.0</td>
      <td>15000.0</td>
      <td>15000.0</td>
      <td>13.99</td>
      <td>512.60</td>
      <td>2</td>
      <td>RENT</td>
      <td>55000.0</td>
      <td>Not Verified</td>
      <td>Current</td>
    </tr>
    <tr>
      <th>1</th>
      <td>2600.0</td>
      <td>2600.0</td>
      <td>2600.0</td>
      <td>8.99</td>
      <td>82.67</td>
      <td>3</td>
      <td>RENT</td>
      <td>35000.0</td>
      <td>Source Verified</td>
      <td>Fully Paid</td>
    </tr>
    <tr>
      <th>2</th>
      <td>32200.0</td>
      <td>32200.0</td>
      <td>32200.0</td>
      <td>21.49</td>
      <td>880.02</td>
      <td>10</td>
      <td>MORTGAGE</td>
      <td>65000.0</td>
      <td>Not Verified</td>
      <td>Fully Paid</td>
    </tr>
    <tr>
      <th>3</th>
      <td>10000.0</td>
      <td>10000.0</td>
      <td>10000.0</td>
      <td>11.49</td>
      <td>329.72</td>
      <td>10</td>
      <td>OWN</td>
      <td>55900.0</td>
      <td>Not Verified</td>
      <td>Current</td>
    </tr>
    <tr>
      <th>4</th>
      <td>6000.0</td>
      <td>6000.0</td>
      <td>6000.0</td>
      <td>13.49</td>
      <td>203.59</td>
      <td>5</td>
      <td>RENT</td>
      <td>33000.0</td>
      <td>Not Verified</td>
      <td>Current</td>
    </tr>
    <tr>
      <th>5</th>
      <td>30000.0</td>
      <td>30000.0</td>
      <td>30000.0</td>
      <td>13.99</td>
      <td>697.90</td>
      <td>10</td>
      <td>MORTGAGE</td>
      <td>109000.0</td>
      <td>Source Verified</td>
      <td>Current</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[33]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">ix</span><span class="p">[:</span><span class="mi">5</span><span class="p">,</span><span class="mi">10</span><span class="p">:</span><span class="mi">21</span><span class="p">]</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[33]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>pymnt_plan</th>
      <th>dti</th>
      <th>delinq_2yrs</th>
      <th>inq_last_6mths</th>
      <th>mths_since_last_delinq</th>
      <th>mths_since_last_record</th>
      <th>open_acc</th>
      <th>pub_rec</th>
      <th>revol_bal</th>
      <th>total_acc</th>
      <th>initial_list_status</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>n</td>
      <td>23.78</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>7.0</td>
      <td>NaN</td>
      <td>22.0</td>
      <td>0.0</td>
      <td>21345.0</td>
      <td>43.0</td>
      <td>f</td>
    </tr>
    <tr>
      <th>1</th>
      <td>n</td>
      <td>6.73</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>14.0</td>
      <td>0.0</td>
      <td>720.0</td>
      <td>24.0</td>
      <td>w</td>
    </tr>
    <tr>
      <th>2</th>
      <td>n</td>
      <td>11.71</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>NaN</td>
      <td>87.0</td>
      <td>17.0</td>
      <td>1.0</td>
      <td>11987.0</td>
      <td>34.0</td>
      <td>w</td>
    </tr>
    <tr>
      <th>3</th>
      <td>n</td>
      <td>26.21</td>
      <td>0.0</td>
      <td>2.0</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>15.0</td>
      <td>0.0</td>
      <td>17209.0</td>
      <td>62.0</td>
      <td>w</td>
    </tr>
    <tr>
      <th>4</th>
      <td>n</td>
      <td>19.05</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>3.0</td>
      <td>0.0</td>
      <td>4576.0</td>
      <td>11.0</td>
      <td>f</td>
    </tr>
    <tr>
      <th>5</th>
      <td>n</td>
      <td>16.24</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>17.0</td>
      <td>0.0</td>
      <td>11337.0</td>
      <td>39.0</td>
      <td>w</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[34]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">df</span><span class="o">.</span><span class="n">columns</span>
<span class="k">print</span> <span class="n">df</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">values</span>
<span class="n">df</span><span class="o">.</span><span class="n">info</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>Index([u&#39;loan_amnt&#39;, u&#39;funded_amnt&#39;, u&#39;funded_amnt_inv&#39;, u&#39;int_rate&#39;,
       u&#39;installment&#39;, u&#39;emp_length&#39;, u&#39;home_ownership&#39;, u&#39;annual_inc&#39;,
       u&#39;verification_status&#39;, u&#39;loan_status&#39;, u&#39;pymnt_plan&#39;, u&#39;dti&#39;,
       u&#39;delinq_2yrs&#39;, u&#39;inq_last_6mths&#39;, u&#39;mths_since_last_delinq&#39;,
       u&#39;mths_since_last_record&#39;, u&#39;open_acc&#39;, u&#39;pub_rec&#39;, u&#39;revol_bal&#39;,
       u&#39;total_acc&#39;, u&#39;initial_list_status&#39;, u&#39;collections_12_mths_ex_med&#39;,
       u&#39;mths_since_last_major_derog&#39;, u&#39;application_type&#39;,
       u&#39;annual_inc_joint&#39;, u&#39;dti_joint&#39;, u&#39;acc_now_delinq&#39;, u&#39;tot_coll_amt&#39;,
       u&#39;tot_cur_bal&#39;, u&#39;open_acc_6m&#39;, u&#39;open_il_6m&#39;, u&#39;open_il_12m&#39;,
       u&#39;open_il_24m&#39;, u&#39;mths_since_rcnt_il&#39;, u&#39;total_bal_il&#39;, u&#39;il_util&#39;,
       u&#39;open_rv_12m&#39;, u&#39;open_rv_24m&#39;, u&#39;max_bal_bc&#39;, u&#39;all_util&#39;,
       u&#39;total_rev_hi_lim&#39;, u&#39;inq_fi&#39;, u&#39;total_cu_tl&#39;, u&#39;inq_last_12m&#39;,
       u&#39;acc_open_past_24mths&#39;, u&#39;avg_cur_bal&#39;, u&#39;bc_open_to_buy&#39;, u&#39;bc_util&#39;,
       u&#39;chargeoff_within_12_mths&#39;, u&#39;delinq_amnt&#39;, u&#39;mo_sin_old_il_acct&#39;,
       u&#39;mo_sin_old_rev_tl_op&#39;, u&#39;mo_sin_rcnt_rev_tl_op&#39;, u&#39;mo_sin_rcnt_tl&#39;,
       u&#39;mort_acc&#39;, u&#39;mths_since_recent_bc&#39;, u&#39;mths_since_recent_bc_dlq&#39;,
       u&#39;mths_since_recent_inq&#39;, u&#39;mths_since_recent_revol_delinq&#39;,
       u&#39;num_accts_ever_120_pd&#39;, u&#39;num_actv_bc_tl&#39;, u&#39;num_actv_rev_tl&#39;,
       u&#39;num_bc_sats&#39;, u&#39;num_bc_tl&#39;, u&#39;num_il_tl&#39;, u&#39;num_op_rev_tl&#39;,
       u&#39;num_rev_accts&#39;, u&#39;num_rev_tl_bal_gt_0&#39;, u&#39;num_sats&#39;,
       u&#39;num_tl_120dpd_2m&#39;, u&#39;num_tl_30dpd&#39;, u&#39;num_tl_90g_dpd_24m&#39;,
       u&#39;num_tl_op_past_12m&#39;, u&#39;pct_tl_nvr_dlq&#39;, u&#39;percent_bc_gt_75&#39;,
       u&#39;pub_rec_bankruptcies&#39;, u&#39;tax_liens&#39;, u&#39;tot_hi_cred_lim&#39;,
       u&#39;total_bal_ex_mort&#39;, u&#39;total_bc_limit&#39;, u&#39;total_il_high_credit_limit&#39;],
      dtype=&#39;object&#39;)
[[15000.0 15000.0 15000.0 13.99 512.6 2 &#39;RENT&#39; 55000.0 &#39;Not Verified&#39;
  &#39;Current&#39; &#39;n&#39; 23.78 1.0 0.0 7.0 nan 22.0 0.0 21345.0 43.0 &#39;f&#39; 0.0 nan
  &#39;INDIVIDUAL&#39; nan nan 0.0 0.0 140492.0 3.0 10.0 2.0 3.0 11.0 119147.0
  101.0 3.0 4.0 14612.0 83.0 39000.0 1.0 6.0 0.0 7.0 6386.0 9645.0 73.1 0.0
  0.0 157.0 248.0 4.0 4.0 0.0 4.0 7.0 22.0 7.0 0.0 5.0 9.0 6.0 7.0 25.0
  11.0 18.0 9.0 22.0 0.0 0.0 0.0 5.0 100.0 33.3 0.0 0.0 147587.0 140492.0
  30200.0 108587.0]]
&lt;class &#39;pandas.core.frame.DataFrame&#39;&gt;
Int64Index: 99120 entries, 0 to 99119
Data columns (total 81 columns):
loan_amnt                         99120 non-null float64
funded_amnt                       99120 non-null float64
funded_amnt_inv                   99120 non-null float64
int_rate                          99120 non-null float64
installment                       99120 non-null float64
emp_length                        99120 non-null int64
home_ownership                    99120 non-null object
annual_inc                        99120 non-null float64
verification_status               99120 non-null object
loan_status                       99120 non-null object
pymnt_plan                        99120 non-null object
dti                               99120 non-null float64
delinq_2yrs                       99120 non-null float64
inq_last_6mths                    99120 non-null float64
mths_since_last_delinq            53366 non-null float64
mths_since_last_record            19792 non-null float64
open_acc                          99120 non-null float64
pub_rec                           99120 non-null float64
revol_bal                         99120 non-null float64
total_acc                         99120 non-null float64
initial_list_status               99120 non-null object
collections_12_mths_ex_med        99120 non-null float64
mths_since_last_major_derog       29372 non-null float64
application_type                  99120 non-null object
annual_inc_joint                  517 non-null float64
dti_joint                         517 non-null float64
acc_now_delinq                    99120 non-null float64
tot_coll_amt                      99120 non-null float64
tot_cur_bal                       99120 non-null float64
open_acc_6m                       99120 non-null float64
open_il_6m                        99120 non-null float64
open_il_12m                       99120 non-null float64
open_il_24m                       99120 non-null float64
mths_since_rcnt_il                96469 non-null float64
total_bal_il                      99120 non-null float64
il_util                           85480 non-null float64
open_rv_12m                       99120 non-null float64
open_rv_24m                       99120 non-null float64
max_bal_bc                        99120 non-null float64
all_util                          99114 non-null float64
total_rev_hi_lim                  99120 non-null float64
inq_fi                            99120 non-null float64
total_cu_tl                       99120 non-null float64
inq_last_12m                      99120 non-null float64
acc_open_past_24mths              99120 non-null float64
avg_cur_bal                       99120 non-null float64
bc_open_to_buy                    98010 non-null float64
bc_util                           97971 non-null float64
chargeoff_within_12_mths          99120 non-null float64
delinq_amnt                       99120 non-null float64
mo_sin_old_il_acct                96469 non-null float64
mo_sin_old_rev_tl_op              99120 non-null float64
mo_sin_rcnt_rev_tl_op             99120 non-null float64
mo_sin_rcnt_tl                    99120 non-null float64
mort_acc                          99120 non-null float64
mths_since_recent_bc              98067 non-null float64
mths_since_recent_bc_dlq          26018 non-null float64
mths_since_recent_inq             89254 non-null float64
mths_since_recent_revol_delinq    36606 non-null float64
num_accts_ever_120_pd             99120 non-null float64
num_actv_bc_tl                    99120 non-null float64
num_actv_rev_tl                   99120 non-null float64
num_bc_sats                       99120 non-null float64
num_bc_tl                         99120 non-null float64
num_il_tl                         99120 non-null float64
num_op_rev_tl                     99120 non-null float64
num_rev_accts                     99120 non-null float64
num_rev_tl_bal_gt_0               99120 non-null float64
num_sats                          99120 non-null float64
num_tl_120dpd_2m                  95661 non-null float64
num_tl_30dpd                      99120 non-null float64
num_tl_90g_dpd_24m                99120 non-null float64
num_tl_op_past_12m                99120 non-null float64
pct_tl_nvr_dlq                    99120 non-null float64
percent_bc_gt_75                  98006 non-null float64
pub_rec_bankruptcies              99120 non-null float64
tax_liens                         99120 non-null float64
tot_hi_cred_lim                   99120 non-null float64
total_bal_ex_mort                 99120 non-null float64
total_bc_limit                    99120 non-null float64
total_il_high_credit_limit        99120 non-null float64
dtypes: float64(74), int64(1), object(6)
memory usage: 62.0+ MB
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[35]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">select_dtypes</span><span class="p">(</span><span class="n">include</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;float&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span><span class="o">.</span><span class="n">T</span><span class="o">.</span>\
<span class="n">assign</span><span class="p">(</span><span class="n">missing_pct</span><span class="o">=</span><span class="n">df</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span> <span class="p">:</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">-</span><span class="n">x</span><span class="o">.</span><span class="n">count</span><span class="p">())</span><span class="o">/</span><span class="nb">float</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">))))</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stderr output_text">
<pre>/Users/ting/anaconda/lib/python2.7/site-packages/numpy/lib/function_base.py:3834: RuntimeWarning: Invalid value encountered in percentile
  RuntimeWarning)
</pre>
</div>
</div>

<div class="output_area"><div class="prompt output_prompt">Out[35]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>count</th>
      <th>mean</th>
      <th>std</th>
      <th>min</th>
      <th>25%</th>
      <th>50%</th>
      <th>75%</th>
      <th>max</th>
      <th>missing_pct</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>loan_amnt</th>
      <td>99120.0</td>
      <td>14170.570521</td>
      <td>8886.138758</td>
      <td>1000.00</td>
      <td>7200.00</td>
      <td>12000.00</td>
      <td>20000.00</td>
      <td>40000.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>funded_amnt</th>
      <td>99120.0</td>
      <td>14170.570521</td>
      <td>8886.138758</td>
      <td>1000.00</td>
      <td>7200.00</td>
      <td>12000.00</td>
      <td>20000.00</td>
      <td>40000.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>funded_amnt_inv</th>
      <td>99120.0</td>
      <td>14166.087823</td>
      <td>8883.301328</td>
      <td>1000.00</td>
      <td>7200.00</td>
      <td>12000.00</td>
      <td>20000.00</td>
      <td>40000.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>int_rate</th>
      <td>99120.0</td>
      <td>13.723641</td>
      <td>4.873910</td>
      <td>5.32</td>
      <td>10.49</td>
      <td>12.79</td>
      <td>15.59</td>
      <td>30.99</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>installment</th>
      <td>99120.0</td>
      <td>432.718654</td>
      <td>272.678596</td>
      <td>30.12</td>
      <td>235.24</td>
      <td>361.38</td>
      <td>569.83</td>
      <td>1535.71</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>annual_inc</th>
      <td>99120.0</td>
      <td>78488.850081</td>
      <td>72694.186060</td>
      <td>0.00</td>
      <td>48000.00</td>
      <td>65448.00</td>
      <td>94000.00</td>
      <td>8400000.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>dti</th>
      <td>99120.0</td>
      <td>18.348651</td>
      <td>64.057603</td>
      <td>0.00</td>
      <td>11.91</td>
      <td>17.60</td>
      <td>23.90</td>
      <td>9999.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>delinq_2yrs</th>
      <td>99120.0</td>
      <td>0.381901</td>
      <td>0.988996</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>21.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>inq_last_6mths</th>
      <td>99120.0</td>
      <td>0.570521</td>
      <td>0.863796</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>1.00</td>
      <td>5.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>mths_since_last_delinq</th>
      <td>53366.0</td>
      <td>33.229172</td>
      <td>21.820407</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>142.00</td>
      <td>0.461602</td>
    </tr>
    <tr>
      <th>mths_since_last_record</th>
      <td>19792.0</td>
      <td>67.267886</td>
      <td>24.379343</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>119.00</td>
      <td>0.800323</td>
    </tr>
    <tr>
      <th>open_acc</th>
      <td>99120.0</td>
      <td>11.718251</td>
      <td>5.730585</td>
      <td>1.00</td>
      <td>8.00</td>
      <td>11.00</td>
      <td>15.00</td>
      <td>86.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>pub_rec</th>
      <td>99120.0</td>
      <td>0.266596</td>
      <td>0.719193</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>61.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>revol_bal</th>
      <td>99120.0</td>
      <td>15536.628047</td>
      <td>21537.790599</td>
      <td>0.00</td>
      <td>5657.00</td>
      <td>10494.00</td>
      <td>18501.50</td>
      <td>876178.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>total_acc</th>
      <td>99120.0</td>
      <td>24.033545</td>
      <td>11.929761</td>
      <td>2.00</td>
      <td>15.00</td>
      <td>22.00</td>
      <td>31.00</td>
      <td>119.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>collections_12_mths_ex_med</th>
      <td>99120.0</td>
      <td>0.021640</td>
      <td>0.168331</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>10.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>mths_since_last_major_derog</th>
      <td>29372.0</td>
      <td>44.449612</td>
      <td>22.254529</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>165.00</td>
      <td>0.703672</td>
    </tr>
    <tr>
      <th>annual_inc_joint</th>
      <td>517.0</td>
      <td>118120.418472</td>
      <td>51131.323819</td>
      <td>26943.12</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>400000.00</td>
      <td>0.994784</td>
    </tr>
    <tr>
      <th>dti_joint</th>
      <td>517.0</td>
      <td>18.637621</td>
      <td>6.602016</td>
      <td>2.56</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>48.58</td>
      <td>0.994784</td>
    </tr>
    <tr>
      <th>acc_now_delinq</th>
      <td>99120.0</td>
      <td>0.006709</td>
      <td>0.086902</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>4.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>tot_coll_amt</th>
      <td>99120.0</td>
      <td>281.797639</td>
      <td>1840.699443</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>172575.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>tot_cur_bal</th>
      <td>99120.0</td>
      <td>138845.606144</td>
      <td>156736.843591</td>
      <td>0.00</td>
      <td>28689.00</td>
      <td>76447.50</td>
      <td>207194.75</td>
      <td>3764968.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>open_acc_6m</th>
      <td>99120.0</td>
      <td>0.978743</td>
      <td>1.176973</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>1.00</td>
      <td>2.00</td>
      <td>13.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>open_il_6m</th>
      <td>99120.0</td>
      <td>2.825888</td>
      <td>3.109225</td>
      <td>0.00</td>
      <td>1.00</td>
      <td>2.00</td>
      <td>3.00</td>
      <td>43.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>open_il_12m</th>
      <td>99120.0</td>
      <td>0.723467</td>
      <td>0.973888</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>1.00</td>
      <td>13.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>open_il_24m</th>
      <td>99120.0</td>
      <td>1.624818</td>
      <td>1.656628</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>1.00</td>
      <td>2.00</td>
      <td>26.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>mths_since_rcnt_il</th>
      <td>96469.0</td>
      <td>21.362531</td>
      <td>26.563455</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>503.00</td>
      <td>0.026745</td>
    </tr>
    <tr>
      <th>total_bal_il</th>
      <td>99120.0</td>
      <td>35045.324193</td>
      <td>41981.617996</td>
      <td>0.00</td>
      <td>9179.00</td>
      <td>23199.00</td>
      <td>45672.00</td>
      <td>1547285.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>il_util</th>
      <td>85480.0</td>
      <td>71.599158</td>
      <td>23.306731</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>1000.00</td>
      <td>0.137611</td>
    </tr>
    <tr>
      <th>open_rv_12m</th>
      <td>99120.0</td>
      <td>1.408142</td>
      <td>1.570068</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>1.00</td>
      <td>2.00</td>
      <td>24.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>...</th>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
    </tr>
    <tr>
      <th>mo_sin_old_rev_tl_op</th>
      <td>99120.0</td>
      <td>177.634322</td>
      <td>95.327498</td>
      <td>3.00</td>
      <td>115.00</td>
      <td>160.00</td>
      <td>227.00</td>
      <td>901.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>mo_sin_rcnt_rev_tl_op</th>
      <td>99120.0</td>
      <td>13.145369</td>
      <td>16.695022</td>
      <td>0.00</td>
      <td>3.00</td>
      <td>8.00</td>
      <td>16.00</td>
      <td>274.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>mo_sin_rcnt_tl</th>
      <td>99120.0</td>
      <td>7.833232</td>
      <td>8.649843</td>
      <td>0.00</td>
      <td>3.00</td>
      <td>5.00</td>
      <td>10.00</td>
      <td>268.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>mort_acc</th>
      <td>99120.0</td>
      <td>1.467585</td>
      <td>1.799513</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>1.00</td>
      <td>2.00</td>
      <td>45.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>mths_since_recent_bc</th>
      <td>98067.0</td>
      <td>23.623512</td>
      <td>31.750632</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>546.00</td>
      <td>0.010623</td>
    </tr>
    <tr>
      <th>mths_since_recent_bc_dlq</th>
      <td>26018.0</td>
      <td>38.095280</td>
      <td>22.798229</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>162.00</td>
      <td>0.737510</td>
    </tr>
    <tr>
      <th>mths_since_recent_inq</th>
      <td>89254.0</td>
      <td>6.626504</td>
      <td>5.967648</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>25.00</td>
      <td>0.099536</td>
    </tr>
    <tr>
      <th>mths_since_recent_revol_delinq</th>
      <td>36606.0</td>
      <td>34.393132</td>
      <td>22.371813</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>165.00</td>
      <td>0.630690</td>
    </tr>
    <tr>
      <th>num_accts_ever_120_pd</th>
      <td>99120.0</td>
      <td>0.594703</td>
      <td>1.508027</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>1.00</td>
      <td>36.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_actv_bc_tl</th>
      <td>99120.0</td>
      <td>3.628218</td>
      <td>2.302668</td>
      <td>0.00</td>
      <td>2.00</td>
      <td>3.00</td>
      <td>5.00</td>
      <td>47.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_actv_rev_tl</th>
      <td>99120.0</td>
      <td>5.625272</td>
      <td>3.400185</td>
      <td>0.00</td>
      <td>3.00</td>
      <td>5.00</td>
      <td>7.00</td>
      <td>59.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_bc_sats</th>
      <td>99120.0</td>
      <td>4.645581</td>
      <td>3.013399</td>
      <td>0.00</td>
      <td>3.00</td>
      <td>4.00</td>
      <td>6.00</td>
      <td>61.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_bc_tl</th>
      <td>99120.0</td>
      <td>7.416041</td>
      <td>4.546112</td>
      <td>0.00</td>
      <td>4.00</td>
      <td>7.00</td>
      <td>10.00</td>
      <td>67.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_il_tl</th>
      <td>99120.0</td>
      <td>8.597437</td>
      <td>7.528533</td>
      <td>0.00</td>
      <td>4.00</td>
      <td>7.00</td>
      <td>11.00</td>
      <td>107.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_op_rev_tl</th>
      <td>99120.0</td>
      <td>8.198820</td>
      <td>4.710348</td>
      <td>0.00</td>
      <td>5.00</td>
      <td>7.00</td>
      <td>10.00</td>
      <td>79.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_rev_accts</th>
      <td>99120.0</td>
      <td>13.726312</td>
      <td>7.963791</td>
      <td>2.00</td>
      <td>8.00</td>
      <td>12.00</td>
      <td>18.00</td>
      <td>104.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_rev_tl_bal_gt_0</th>
      <td>99120.0</td>
      <td>5.566293</td>
      <td>3.286135</td>
      <td>0.00</td>
      <td>3.00</td>
      <td>5.00</td>
      <td>7.00</td>
      <td>59.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_sats</th>
      <td>99120.0</td>
      <td>11.673497</td>
      <td>5.709513</td>
      <td>1.00</td>
      <td>8.00</td>
      <td>11.00</td>
      <td>14.00</td>
      <td>85.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_tl_120dpd_2m</th>
      <td>95661.0</td>
      <td>0.001108</td>
      <td>0.035695</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>4.00</td>
      <td>0.034897</td>
    </tr>
    <tr>
      <th>num_tl_30dpd</th>
      <td>99120.0</td>
      <td>0.004348</td>
      <td>0.068650</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>3.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_tl_90g_dpd_24m</th>
      <td>99120.0</td>
      <td>0.101332</td>
      <td>0.567112</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>20.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>num_tl_op_past_12m</th>
      <td>99120.0</td>
      <td>2.254752</td>
      <td>1.960084</td>
      <td>0.00</td>
      <td>1.00</td>
      <td>2.00</td>
      <td>3.00</td>
      <td>24.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>pct_tl_nvr_dlq</th>
      <td>99120.0</td>
      <td>93.262828</td>
      <td>9.696646</td>
      <td>0.00</td>
      <td>90.00</td>
      <td>96.90</td>
      <td>100.00</td>
      <td>100.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>percent_bc_gt_75</th>
      <td>98006.0</td>
      <td>42.681332</td>
      <td>36.296425</td>
      <td>0.00</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>100.00</td>
      <td>0.011239</td>
    </tr>
    <tr>
      <th>pub_rec_bankruptcies</th>
      <td>99120.0</td>
      <td>0.150262</td>
      <td>0.407706</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>8.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>tax_liens</th>
      <td>99120.0</td>
      <td>0.075393</td>
      <td>0.517275</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>0.00</td>
      <td>61.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>tot_hi_cred_lim</th>
      <td>99120.0</td>
      <td>172185.283394</td>
      <td>175273.669652</td>
      <td>2500.00</td>
      <td>49130.75</td>
      <td>108020.50</td>
      <td>248473.25</td>
      <td>3953111.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>total_bal_ex_mort</th>
      <td>99120.0</td>
      <td>50818.694078</td>
      <td>48976.640478</td>
      <td>0.00</td>
      <td>20913.00</td>
      <td>37747.50</td>
      <td>64216.25</td>
      <td>1548128.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>total_bc_limit</th>
      <td>99120.0</td>
      <td>20862.228420</td>
      <td>20721.900664</td>
      <td>0.00</td>
      <td>7700.00</td>
      <td>14700.00</td>
      <td>27000.00</td>
      <td>520500.00</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>total_il_high_credit_limit</th>
      <td>99120.0</td>
      <td>44066.340375</td>
      <td>44473.458730</td>
      <td>0.00</td>
      <td>15750.00</td>
      <td>33183.00</td>
      <td>58963.25</td>
      <td>2000000.00</td>
      <td>0.000000</td>
    </tr>
  </tbody>
</table>
<p>74 rows × 9 columns</p>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[36]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;annual_inc_joint&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;dti_joint&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[37]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">select_dtypes</span><span class="p">(</span><span class="n">include</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;int&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span><span class="o">.</span><span class="n">T</span><span class="o">.</span>\
<span class="n">assign</span><span class="p">(</span><span class="n">missing_pct</span><span class="o">=</span><span class="n">df</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span> <span class="p">:</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">-</span><span class="n">x</span><span class="o">.</span><span class="n">count</span><span class="p">())</span><span class="o">/</span><span class="nb">float</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">))))</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[37]:</div>

<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>count</th>
      <th>mean</th>
      <th>std</th>
      <th>min</th>
      <th>25%</th>
      <th>50%</th>
      <th>75%</th>
      <th>max</th>
      <th>missing_pct</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>emp_length</th>
      <td>99120.0</td>
      <td>5.757092</td>
      <td>3.770359</td>
      <td>0.0</td>
      <td>2.0</td>
      <td>6.0</td>
      <td>10.0</td>
      <td>10.0</td>
      <td>0.0</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Target:-Loan-Statuses">Target: Loan Statuses<a class="anchor-link" href="#Target:-Loan-Statuses">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[38]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="p">[</span><span class="s1">&#39;loan_status&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
<span class="c1"># .plot(kind=&#39;bar&#39;)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[38]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>Current               79445
Fully Paid            13066
Charged Off            2502
Late (31-120 days)     2245
In Grace Period        1407
Late (16-30 days)       454
Default                   1
Name: loan_status, dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[39]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">loan_status</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;Fully Paid&#39;</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">loan_status</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;Current&#39;</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">loan_status</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;Late (16-30 days)&#39;</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">loan_status</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;Late (31-120 days)&#39;</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">loan_status</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;Charged Off&#39;</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">loan_status</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;In Grace Period&#39;</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">loan_status</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;Default&#39;</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="c1"># df.loan_status.astype(&#39;int&#39;)</span>
<span class="n">df</span><span class="o">.</span><span class="n">loan_status</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[39]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>1.0    92511
0.0     2699
Name: loan_status, dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[40]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># df.loan_status</span>
<span class="n">df</span><span class="o">.</span><span class="n">dropna</span><span class="p">(</span><span class="n">subset</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;loan_status&#39;</span><span class="p">],</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Highly-Correlated-Data">Highly Correlated Data<a class="anchor-link" href="#Highly-Correlated-Data">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[41]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">cor</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">corr</span><span class="p">()</span>
<span class="n">cor</span><span class="o">.</span><span class="n">loc</span><span class="p">[:,:]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">tril</span><span class="p">(</span><span class="n">cor</span><span class="p">,</span> <span class="n">k</span><span class="o">=-</span><span class="mi">1</span><span class="p">)</span> <span class="c1"># below main lower triangle of an array</span>
<span class="n">cor</span> <span class="o">=</span> <span class="n">cor</span><span class="o">.</span><span class="n">stack</span><span class="p">()</span>
<span class="n">cor</span><span class="p">[(</span><span class="n">cor</span> <span class="o">&gt;</span> <span class="mf">0.55</span><span class="p">)</span> <span class="o">|</span> <span class="p">(</span><span class="n">cor</span> <span class="o">&lt;</span> <span class="o">-</span><span class="mf">0.55</span><span class="p">)]</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[41]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>funded_amnt                     loan_amnt                      1.000000
funded_amnt_inv                 loan_amnt                      0.999994
                                funded_amnt                    0.999994
installment                     loan_amnt                      0.953380
                                funded_amnt                    0.953380
                                funded_amnt_inv                0.953293
mths_since_last_delinq          delinq_2yrs                   -0.551275
total_acc                       open_acc                       0.722950
mths_since_last_major_derog     mths_since_last_delinq         0.685642
open_il_24m                     open_il_12m                    0.760219
total_bal_il                    open_il_6m                     0.566551
open_rv_12m                     open_acc_6m                    0.623975
open_rv_24m                     open_rv_12m                    0.774954
max_bal_bc                      revol_bal                      0.551409
all_util                        il_util                        0.594925
total_rev_hi_lim                revol_bal                      0.815351
inq_last_12m                    inq_fi                         0.563011
acc_open_past_24mths            open_acc_6m                    0.553181
                                open_il_24m                    0.570853
                                open_rv_12m                    0.657606
                                open_rv_24m                    0.848964
avg_cur_bal                     tot_cur_bal                    0.828457
bc_open_to_buy                  total_rev_hi_lim               0.626380
bc_util                         all_util                       0.569469
mo_sin_rcnt_tl                  mo_sin_rcnt_rev_tl_op          0.606065
mort_acc                        tot_cur_bal                    0.551198
mths_since_recent_bc            mo_sin_rcnt_rev_tl_op          0.614262
mths_since_recent_bc_dlq        mths_since_last_delinq         0.751613
                                mths_since_last_major_derog    0.553022
mths_since_recent_revol_delinq  mths_since_last_delinq         0.853573
                                                                 ...   
num_sats                        total_acc                      0.720022
                                num_actv_bc_tl                 0.552957
                                num_actv_rev_tl                0.665429
                                num_bc_sats                    0.630778
                                num_op_rev_tl                  0.826946
                                num_rev_accts                  0.663595
                                num_rev_tl_bal_gt_0            0.668573
num_tl_30dpd                    acc_now_delinq                 0.801444
num_tl_90g_dpd_24m              delinq_2yrs                    0.669267
num_tl_op_past_12m              open_acc_6m                    0.722131
                                open_il_12m                    0.557902
                                open_rv_12m                    0.844841
                                open_rv_24m                    0.660265
                                acc_open_past_24mths           0.774867
pct_tl_nvr_dlq                  num_accts_ever_120_pd         -0.592502
percent_bc_gt_75                bc_util                        0.844108
pub_rec_bankruptcies            pub_rec                        0.580798
tax_liens                       pub_rec                        0.752084
tot_hi_cred_lim                 tot_cur_bal                    0.982693
                                avg_cur_bal                    0.795652
                                mort_acc                       0.560840
total_bal_ex_mort               total_bal_il                   0.902486
total_bc_limit                  max_bal_bc                     0.581536
                                total_rev_hi_lim               0.775151
                                bc_open_to_buy                 0.834159
                                num_bc_sats                    0.633461
total_il_high_credit_limit      open_il_6m                     0.552023
                                total_bal_il                   0.960349
                                num_il_tl                      0.583329
                                total_bal_ex_mort              0.889238
dtype: float64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[42]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">([</span><span class="s1">&#39;funded_amnt&#39;</span><span class="p">,</span><span class="s1">&#39;funded_amnt_inv&#39;</span><span class="p">,</span> <span class="s1">&#39;installment&#39;</span><span class="p">],</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="2.-Our-Model">2. Our Model<a class="anchor-link" href="#2.-Our-Model">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[55]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">train_test_split</span>
<span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">GridSearchCV</span>
<span class="kn">from</span> <span class="nn">sklearn</span> <span class="kn">import</span> <span class="n">ensemble</span>
<span class="kn">from</span> <span class="nn">sklearn.preprocessing</span> <span class="kn">import</span> <span class="n">OneHotEncoder</span> <span class="c1">#https://ljalphabeta.gitbooks.io/python-/content/categorical_data.html</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[43]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">Y</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">loan_status</span>
<span class="n">X</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;loan_status&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[53]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">Y</span><span class="o">.</span><span class="n">shape</span>
<span class="k">print</span> <span class="nb">sum</span><span class="p">(</span><span class="n">Y</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>(95210,)
92511.0
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[56]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">X</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">get_dummies</span><span class="p">(</span><span class="n">X</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[57]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">X</span><span class="o">.</span><span class="n">columns</span>
<span class="k">print</span> <span class="n">X</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">values</span>
<span class="n">X</span><span class="o">.</span><span class="n">info</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>Index([u&#39;loan_amnt&#39;, u&#39;int_rate&#39;, u&#39;emp_length&#39;, u&#39;annual_inc&#39;, u&#39;dti&#39;,
       u&#39;delinq_2yrs&#39;, u&#39;inq_last_6mths&#39;, u&#39;mths_since_last_delinq&#39;,
       u&#39;mths_since_last_record&#39;, u&#39;open_acc&#39;, u&#39;pub_rec&#39;, u&#39;revol_bal&#39;,
       u&#39;total_acc&#39;, u&#39;collections_12_mths_ex_med&#39;,
       u&#39;mths_since_last_major_derog&#39;, u&#39;acc_now_delinq&#39;, u&#39;tot_coll_amt&#39;,
       u&#39;tot_cur_bal&#39;, u&#39;open_acc_6m&#39;, u&#39;open_il_6m&#39;, u&#39;open_il_12m&#39;,
       u&#39;open_il_24m&#39;, u&#39;mths_since_rcnt_il&#39;, u&#39;total_bal_il&#39;, u&#39;il_util&#39;,
       u&#39;open_rv_12m&#39;, u&#39;open_rv_24m&#39;, u&#39;max_bal_bc&#39;, u&#39;all_util&#39;,
       u&#39;total_rev_hi_lim&#39;, u&#39;inq_fi&#39;, u&#39;total_cu_tl&#39;, u&#39;inq_last_12m&#39;,
       u&#39;acc_open_past_24mths&#39;, u&#39;avg_cur_bal&#39;, u&#39;bc_open_to_buy&#39;, u&#39;bc_util&#39;,
       u&#39;chargeoff_within_12_mths&#39;, u&#39;delinq_amnt&#39;, u&#39;mo_sin_old_il_acct&#39;,
       u&#39;mo_sin_old_rev_tl_op&#39;, u&#39;mo_sin_rcnt_rev_tl_op&#39;, u&#39;mo_sin_rcnt_tl&#39;,
       u&#39;mort_acc&#39;, u&#39;mths_since_recent_bc&#39;, u&#39;mths_since_recent_bc_dlq&#39;,
       u&#39;mths_since_recent_inq&#39;, u&#39;mths_since_recent_revol_delinq&#39;,
       u&#39;num_accts_ever_120_pd&#39;, u&#39;num_actv_bc_tl&#39;, u&#39;num_actv_rev_tl&#39;,
       u&#39;num_bc_sats&#39;, u&#39;num_bc_tl&#39;, u&#39;num_il_tl&#39;, u&#39;num_op_rev_tl&#39;,
       u&#39;num_rev_accts&#39;, u&#39;num_rev_tl_bal_gt_0&#39;, u&#39;num_sats&#39;,
       u&#39;num_tl_120dpd_2m&#39;, u&#39;num_tl_30dpd&#39;, u&#39;num_tl_90g_dpd_24m&#39;,
       u&#39;num_tl_op_past_12m&#39;, u&#39;pct_tl_nvr_dlq&#39;, u&#39;percent_bc_gt_75&#39;,
       u&#39;pub_rec_bankruptcies&#39;, u&#39;tax_liens&#39;, u&#39;tot_hi_cred_lim&#39;,
       u&#39;total_bal_ex_mort&#39;, u&#39;total_bc_limit&#39;, u&#39;total_il_high_credit_limit&#39;,
       u&#39;home_ownership_ANY&#39;, u&#39;home_ownership_MORTGAGE&#39;,
       u&#39;home_ownership_OWN&#39;, u&#39;home_ownership_RENT&#39;,
       u&#39;verification_status_Not Verified&#39;,
       u&#39;verification_status_Source Verified&#39;, u&#39;verification_status_Verified&#39;,
       u&#39;pymnt_plan_n&#39;, u&#39;pymnt_plan_y&#39;, u&#39;initial_list_status_f&#39;,
       u&#39;initial_list_status_w&#39;, u&#39;application_type_DIRECT_PAY&#39;,
       u&#39;application_type_INDIVIDUAL&#39;, u&#39;application_type_JOINT&#39;],
      dtype=&#39;object&#39;)
[[  1.50000000e+04   1.39900000e+01   2.00000000e+00   5.50000000e+04
    2.37800000e+01   1.00000000e+00   0.00000000e+00   7.00000000e+00
               nan   2.20000000e+01   0.00000000e+00   2.13450000e+04
    4.30000000e+01   0.00000000e+00              nan   0.00000000e+00
    0.00000000e+00   1.40492000e+05   3.00000000e+00   1.00000000e+01
    2.00000000e+00   3.00000000e+00   1.10000000e+01   1.19147000e+05
    1.01000000e+02   3.00000000e+00   4.00000000e+00   1.46120000e+04
    8.30000000e+01   3.90000000e+04   1.00000000e+00   6.00000000e+00
    0.00000000e+00   7.00000000e+00   6.38600000e+03   9.64500000e+03
    7.31000000e+01   0.00000000e+00   0.00000000e+00   1.57000000e+02
    2.48000000e+02   4.00000000e+00   4.00000000e+00   0.00000000e+00
    4.00000000e+00   7.00000000e+00   2.20000000e+01   7.00000000e+00
    0.00000000e+00   5.00000000e+00   9.00000000e+00   6.00000000e+00
    7.00000000e+00   2.50000000e+01   1.10000000e+01   1.80000000e+01
    9.00000000e+00   2.20000000e+01   0.00000000e+00   0.00000000e+00
    0.00000000e+00   5.00000000e+00   1.00000000e+02   3.33000000e+01
    0.00000000e+00   0.00000000e+00   1.47587000e+05   1.40492000e+05
    3.02000000e+04   1.08587000e+05   0.00000000e+00   0.00000000e+00
    0.00000000e+00   1.00000000e+00   1.00000000e+00   0.00000000e+00
    0.00000000e+00   1.00000000e+00   0.00000000e+00   1.00000000e+00
    0.00000000e+00   0.00000000e+00   1.00000000e+00   0.00000000e+00]]
&lt;class &#39;pandas.core.frame.DataFrame&#39;&gt;
Int64Index: 95210 entries, 0 to 99119
Data columns (total 84 columns):
loan_amnt                              95210 non-null float64
int_rate                               95210 non-null float64
emp_length                             95210 non-null int64
annual_inc                             95210 non-null float64
dti                                    95210 non-null float64
delinq_2yrs                            95210 non-null float64
inq_last_6mths                         95210 non-null float64
mths_since_last_delinq                 51229 non-null float64
mths_since_last_record                 18903 non-null float64
open_acc                               95210 non-null float64
pub_rec                                95210 non-null float64
revol_bal                              95210 non-null float64
total_acc                              95210 non-null float64
collections_12_mths_ex_med             95210 non-null float64
mths_since_last_major_derog            28125 non-null float64
acc_now_delinq                         95210 non-null float64
tot_coll_amt                           95210 non-null float64
tot_cur_bal                            95210 non-null float64
open_acc_6m                            95210 non-null float64
open_il_6m                             95210 non-null float64
open_il_12m                            95210 non-null float64
open_il_24m                            95210 non-null float64
mths_since_rcnt_il                     92660 non-null float64
total_bal_il                           95210 non-null float64
il_util                                82017 non-null float64
open_rv_12m                            95210 non-null float64
open_rv_24m                            95210 non-null float64
max_bal_bc                             95210 non-null float64
all_util                               95204 non-null float64
total_rev_hi_lim                       95210 non-null float64
inq_fi                                 95210 non-null float64
total_cu_tl                            95210 non-null float64
inq_last_12m                           95210 non-null float64
acc_open_past_24mths                   95210 non-null float64
avg_cur_bal                            95210 non-null float64
bc_open_to_buy                         94160 non-null float64
bc_util                                94126 non-null float64
chargeoff_within_12_mths               95210 non-null float64
delinq_amnt                            95210 non-null float64
mo_sin_old_il_acct                     92660 non-null float64
mo_sin_old_rev_tl_op                   95210 non-null float64
mo_sin_rcnt_rev_tl_op                  95210 non-null float64
mo_sin_rcnt_tl                         95210 non-null float64
mort_acc                               95210 non-null float64
mths_since_recent_bc                   94212 non-null float64
mths_since_recent_bc_dlq               24968 non-null float64
mths_since_recent_inq                  85581 non-null float64
mths_since_recent_revol_delinq         35158 non-null float64
num_accts_ever_120_pd                  95210 non-null float64
num_actv_bc_tl                         95210 non-null float64
num_actv_rev_tl                        95210 non-null float64
num_bc_sats                            95210 non-null float64
num_bc_tl                              95210 non-null float64
num_il_tl                              95210 non-null float64
num_op_rev_tl                          95210 non-null float64
num_rev_accts                          95210 non-null float64
num_rev_tl_bal_gt_0                    95210 non-null float64
num_sats                               95210 non-null float64
num_tl_120dpd_2m                       91951 non-null float64
num_tl_30dpd                           95210 non-null float64
num_tl_90g_dpd_24m                     95210 non-null float64
num_tl_op_past_12m                     95210 non-null float64
pct_tl_nvr_dlq                         95210 non-null float64
percent_bc_gt_75                       94156 non-null float64
pub_rec_bankruptcies                   95210 non-null float64
tax_liens                              95210 non-null float64
tot_hi_cred_lim                        95210 non-null float64
total_bal_ex_mort                      95210 non-null float64
total_bc_limit                         95210 non-null float64
total_il_high_credit_limit             95210 non-null float64
home_ownership_ANY                     95210 non-null float64
home_ownership_MORTGAGE                95210 non-null float64
home_ownership_OWN                     95210 non-null float64
home_ownership_RENT                    95210 non-null float64
verification_status_Not Verified       95210 non-null float64
verification_status_Source Verified    95210 non-null float64
verification_status_Verified           95210 non-null float64
pymnt_plan_n                           95210 non-null float64
pymnt_plan_y                           95210 non-null float64
initial_list_status_f                  95210 non-null float64
initial_list_status_w                  95210 non-null float64
application_type_DIRECT_PAY            95210 non-null float64
application_type_INDIVIDUAL            95210 non-null float64
application_type_JOINT                 95210 non-null float64
dtypes: float64(83), int64(1)
memory usage: 61.7 MB
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[58]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">X</span><span class="o">.</span><span class="n">fillna</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">X</span><span class="o">.</span><span class="n">fillna</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="n">inplace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Train-Data-&amp;-Test-Data">Train Data &amp; Test Data<a class="anchor-link" href="#Train-Data-&amp;-Test-Data">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[59]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">x_train</span><span class="p">,</span> <span class="n">x_test</span><span class="p">,</span> <span class="n">y_train</span><span class="p">,</span> <span class="n">y_test</span> <span class="o">=</span> <span class="n">train_test_split</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">test_size</span><span class="o">=.</span><span class="mi">3</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">123</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[60]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span><span class="p">(</span><span class="n">x_train</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="n">y_train</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="n">x_test</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="n">y_test</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>(66647, 84)
(66647,)
(28563, 84)
(28563,)
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[61]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">y_train</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
<span class="k">print</span> <span class="n">y_test</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>1.0    64712
0.0     1935
Name: loan_status, dtype: int64
1.0    27799
0.0      764
Name: loan_status, dtype: int64
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Gradient-Boosting-Regression-Tree">Gradient Boosting Regression Tree<a class="anchor-link" href="#Gradient-Boosting-Regression-Tree">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[102]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># param_grid = {&#39;learning_rate&#39;: [0.1, 0.05, 0.02, 0.01],</span>
<span class="c1">#               &#39;max_depth&#39;: [1,2,3,4],</span>
<span class="c1">#               &#39;min_samples_split&#39;: [50,100,200,400],</span>
<span class="c1">#               &#39;n_estimators&#39;: [100,200,400,800]</span>
<span class="c1">#               }</span>

<span class="n">param_grid</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;learning_rate&#39;</span><span class="p">:</span> <span class="p">[</span><span class="mf">0.1</span><span class="p">],</span>
              <span class="s1">&#39;max_depth&#39;</span><span class="p">:</span> <span class="p">[</span><span class="mi">2</span><span class="p">],</span>
              <span class="s1">&#39;min_samples_split&#39;</span><span class="p">:</span> <span class="p">[</span><span class="mi">50</span><span class="p">,</span><span class="mi">100</span><span class="p">],</span>
              <span class="s1">&#39;n_estimators&#39;</span><span class="p">:</span> <span class="p">[</span><span class="mi">100</span><span class="p">,</span><span class="mi">200</span><span class="p">]</span>
              <span class="p">}</span>
<span class="c1"># param_grid = {&#39;learning_rate&#39;: [0.1],</span>
<span class="c1">#               &#39;max_depth&#39;: [4],</span>
<span class="c1">#               &#39;min_samples_leaf&#39;: [3],</span>
<span class="c1">#               &#39;max_features&#39;: [1.0],</span>
<span class="c1">#               }</span>

<span class="n">est</span> <span class="o">=</span> <span class="n">GridSearchCV</span><span class="p">(</span><span class="n">ensemble</span><span class="o">.</span><span class="n">GradientBoostingRegressor</span><span class="p">(),</span>
                   <span class="n">param_grid</span><span class="p">,</span> <span class="n">n_jobs</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">refit</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>

<span class="n">est</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">x_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>

<span class="n">best_params</span> <span class="o">=</span> <span class="n">est</span><span class="o">.</span><span class="n">best_params_</span>
<span class="k">print</span> <span class="n">best_params</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[103]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">best_params</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;min_samples_split&#39;: 100, &#39;n_estimators&#39;: 100, &#39;learning_rate&#39;: 0.1, &#39;max_depth&#39;: 3}
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[109]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="o">%%</span><span class="k">time</span>
est = ensemble.GradientBoostingRegressor(min_samples_split=50,n_estimators=300,
                                         learning_rate=0.1,max_depth=1, random_state=0,loss=&#39;ls&#39;).\
fit(x_train, y_train)
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>CPU times: user 24.2 s, sys: 251 ms, total: 24.4 s
Wall time: 25.6 s
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[110]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">est</span><span class="o">.</span><span class="n">score</span><span class="p">(</span><span class="n">x_test</span><span class="p">,</span><span class="n">y_test</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[110]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>0.028311715416075908</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[106]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="o">%%</span><span class="k">time</span>
est = ensemble.GradientBoostingRegressor(min_samples_split=50,n_estimators=100,
                                         learning_rate=0.1,max_depth=2, random_state=0,loss=&#39;ls&#39;).\
fit(x_train, y_train)
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>CPU times: user 20 s, sys: 272 ms, total: 20.3 s
Wall time: 21.6 s
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[107]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">est</span><span class="o">.</span><span class="n">score</span><span class="p">(</span><span class="n">x_test</span><span class="p">,</span><span class="n">y_test</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt output_prompt">Out[107]:</div>


<div class="output_text output_subarea output_execute_result">
<pre>0.029210266192750467</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[89]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">compute_ks</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>

    <span class="n">sorted_list</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">sort_values</span><span class="p">([</span><span class="s1">&#39;predict&#39;</span><span class="p">],</span> <span class="n">ascending</span><span class="o">=</span><span class="p">[</span><span class="bp">True</span><span class="p">])</span>

    <span class="n">total_bad</span> <span class="o">=</span> <span class="n">sorted_list</span><span class="p">[</span><span class="s1">&#39;label&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">skipna</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">level</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">numeric_only</span><span class="o">=</span><span class="bp">None</span><span class="p">)</span> <span class="o">/</span> <span class="mi">3</span>
    <span class="n">total_good</span> <span class="o">=</span> <span class="n">sorted_list</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">total_bad</span>

    <span class="c1"># print &quot;total_bad = &quot;, total_bad</span>
    <span class="c1"># print &quot;total_good = &quot;, total_good</span>

    <span class="n">max_ks</span> <span class="o">=</span> <span class="mf">0.0</span>
    <span class="n">good_count</span> <span class="o">=</span> <span class="mf">0.0</span>
    <span class="n">bad_count</span> <span class="o">=</span> <span class="mf">0.0</span>
    <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">sorted_list</span><span class="o">.</span><span class="n">iterrows</span><span class="p">():</span>
        <span class="k">if</span> <span class="n">row</span><span class="p">[</span><span class="s1">&#39;label&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
            <span class="n">bad_count</span> <span class="o">+=</span> <span class="mf">1.0</span>
        <span class="k">else</span><span class="p">:</span>
            <span class="n">good_count</span> <span class="o">+=</span> <span class="mf">1.0</span>

        <span class="n">val</span> <span class="o">=</span> <span class="n">bad_count</span><span class="o">/</span><span class="n">total_bad</span> <span class="o">-</span> <span class="n">good_count</span><span class="o">/</span><span class="n">total_good</span>
        <span class="n">max_ks</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">max_ks</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span>

    <span class="k">return</span> <span class="n">max_ks</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[99]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">test_pd</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">()</span>
<span class="n">test_pd</span><span class="p">[</span><span class="s1">&#39;predict&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">est</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">x_test</span><span class="p">)</span>
<span class="n">test_pd</span><span class="p">[</span><span class="s1">&#39;label&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">y_test</span>
<span class="c1"># df[&#39;predict&#39;] = est.predict(x_test)</span>
<span class="k">print</span> <span class="n">compute_ks</span><span class="p">(</span><span class="n">test_pd</span><span class="p">[[</span><span class="s1">&#39;label&#39;</span><span class="p">,</span><span class="s1">&#39;predict&#39;</span><span class="p">]])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>0.0
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[101]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Top Ten</span>
<span class="n">feature_importance</span> <span class="o">=</span> <span class="n">est</span><span class="o">.</span><span class="n">feature_importances_</span>
<span class="n">feature_importance</span> <span class="o">=</span> <span class="mf">100.0</span> <span class="o">*</span> <span class="p">(</span><span class="n">feature_importance</span> <span class="o">/</span> <span class="n">feature_importance</span><span class="o">.</span><span class="n">max</span><span class="p">())</span>

<span class="n">indices</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argsort</span><span class="p">(</span><span class="n">feature_importance</span><span class="p">)[</span><span class="o">-</span><span class="mi">10</span><span class="p">:]</span>
<span class="n">plt</span><span class="o">.</span><span class="n">barh</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span><span class="p">),</span> <span class="n">feature_importance</span><span class="p">[</span><span class="n">indices</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s1">&#39;dodgerblue&#39;</span><span class="p">,</span><span class="n">alpha</span><span class="o">=.</span><span class="mi">4</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">yticks</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span> <span class="o">+</span> <span class="mf">0.25</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">X</span><span class="o">.</span><span class="n">columns</span><span class="p">)[</span><span class="n">indices</span><span class="p">])</span>
<span class="n">_</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Relative importance&#39;</span><span class="p">),</span> <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Top Ten Important Variables&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>


<div class="output_png output_subarea ">
<img src="
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
IF/KRHBPP4MAAAAASUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Other-Model">Other Model<a class="anchor-link" href="#Other-Model">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[108]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">import</span> <span class="nn">xgboost</span> <span class="kn">as</span> <span class="nn">xgb</span>
<span class="kn">from</span> <span class="nn">sklearn.ensemble</span> <span class="kn">import</span> <span class="n">ExtraTreesRegressor</span><span class="p">,</span> <span class="n">RandomForestRegressor</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[123]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># XGBoost</span>
<span class="n">clf2</span> <span class="o">=</span> <span class="n">xgb</span><span class="o">.</span><span class="n">XGBClassifier</span><span class="p">(</span><span class="n">n_estimators</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">max_depth</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> 
                            <span class="n">learning_rate</span><span class="o">=</span><span class="mf">0.01</span><span class="p">,</span> <span class="n">subsample</span><span class="o">=</span><span class="mf">0.8</span><span class="p">,</span> <span class="n">colsample_bytree</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span><span class="n">scale_pos_weight</span><span class="o">=</span><span class="mf">3.0</span><span class="p">,</span> 
                             <span class="n">silent</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">nthread</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span> <span class="n">seed</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">missing</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">objective</span><span class="o">=</span><span class="s1">&#39;binary:logistic&#39;</span><span class="p">,</span> 
                             <span class="n">reg_alpha</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">reg_lambda</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> 
                             <span class="n">gamma</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">min_child_weight</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> 
                             <span class="n">max_delta_step</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="n">base_score</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>

<span class="n">clf2</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">x_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="k">print</span> <span class="n">clf2</span><span class="o">.</span><span class="n">score</span><span class="p">(</span><span class="n">x_test</span><span class="p">,</span> <span class="n">y_test</span><span class="p">)</span>
<span class="n">test_pd2</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">()</span>
<span class="n">test_pd2</span><span class="p">[</span><span class="s1">&#39;predict&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">clf2</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">x_test</span><span class="p">)</span>
<span class="n">test_pd2</span><span class="p">[</span><span class="s1">&#39;label&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">y_test</span>
<span class="k">print</span> <span class="n">compute_ks</span><span class="p">(</span><span class="n">test_pd</span><span class="p">[[</span><span class="s1">&#39;label&#39;</span><span class="p">,</span><span class="s1">&#39;predict&#39;</span><span class="p">]])</span>
<span class="k">print</span> <span class="n">clf2</span><span class="o">.</span><span class="n">feature_importances_</span>
<span class="c1"># Top Ten</span>
<span class="n">feature_importance</span> <span class="o">=</span> <span class="n">clf2</span><span class="o">.</span><span class="n">feature_importances_</span>
<span class="n">feature_importance</span> <span class="o">=</span> <span class="mf">100.0</span> <span class="o">*</span> <span class="p">(</span><span class="n">feature_importance</span> <span class="o">/</span> <span class="n">feature_importance</span><span class="o">.</span><span class="n">max</span><span class="p">())</span>

<span class="n">indices</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argsort</span><span class="p">(</span><span class="n">feature_importance</span><span class="p">)[</span><span class="o">-</span><span class="mi">10</span><span class="p">:]</span>
<span class="n">plt</span><span class="o">.</span><span class="n">barh</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span><span class="p">),</span> <span class="n">feature_importance</span><span class="p">[</span><span class="n">indices</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s1">&#39;dodgerblue&#39;</span><span class="p">,</span><span class="n">alpha</span><span class="o">=.</span><span class="mi">4</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">yticks</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span> <span class="o">+</span> <span class="mf">0.25</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">X</span><span class="o">.</span><span class="n">columns</span><span class="p">)[</span><span class="n">indices</span><span class="p">])</span>
<span class="n">_</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Relative importance&#39;</span><span class="p">),</span> <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Top Ten Important Variables&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>0.973252109372
0.0
[ 0.          0.30769232  0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.05128205
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.05128205  0.30769232  0.2820513   0.          0.          0.          0.
  0.        ]
</pre>
</div>
</div>

<div class="output_area"><div class="prompt"></div>


<div class="output_png output_subarea ">
<img src="
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[124]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># RFR</span>
<span class="n">clf3</span> <span class="o">=</span> <span class="n">RandomForestRegressor</span><span class="p">(</span><span class="n">n_jobs</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span> <span class="n">max_depth</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span><span class="n">random_state</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
<span class="n">clf3</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">x_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="k">print</span> <span class="n">clf3</span><span class="o">.</span><span class="n">score</span><span class="p">(</span><span class="n">x_test</span><span class="p">,</span> <span class="n">y_test</span><span class="p">)</span>
<span class="n">test_pd3</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">()</span>
<span class="n">test_pd3</span><span class="p">[</span><span class="s1">&#39;predict&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">clf3</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">x_test</span><span class="p">)</span>
<span class="n">test_pd3</span><span class="p">[</span><span class="s1">&#39;label&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">y_test</span>
<span class="k">print</span> <span class="n">compute_ks</span><span class="p">(</span><span class="n">test_pd</span><span class="p">[[</span><span class="s1">&#39;label&#39;</span><span class="p">,</span><span class="s1">&#39;predict&#39;</span><span class="p">]])</span>
<span class="k">print</span> <span class="n">clf3</span><span class="o">.</span><span class="n">feature_importances_</span>
<span class="c1"># Top Ten</span>
<span class="n">feature_importance</span> <span class="o">=</span> <span class="n">clf3</span><span class="o">.</span><span class="n">feature_importances_</span>
<span class="n">feature_importance</span> <span class="o">=</span> <span class="mf">100.0</span> <span class="o">*</span> <span class="p">(</span><span class="n">feature_importance</span> <span class="o">/</span> <span class="n">feature_importance</span><span class="o">.</span><span class="n">max</span><span class="p">())</span>

<span class="n">indices</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argsort</span><span class="p">(</span><span class="n">feature_importance</span><span class="p">)[</span><span class="o">-</span><span class="mi">10</span><span class="p">:]</span>
<span class="n">plt</span><span class="o">.</span><span class="n">barh</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span><span class="p">),</span> <span class="n">feature_importance</span><span class="p">[</span><span class="n">indices</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s1">&#39;dodgerblue&#39;</span><span class="p">,</span><span class="n">alpha</span><span class="o">=.</span><span class="mi">4</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">yticks</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span> <span class="o">+</span> <span class="mf">0.25</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">X</span><span class="o">.</span><span class="n">columns</span><span class="p">)[</span><span class="n">indices</span><span class="p">])</span>
<span class="n">_</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Relative importance&#39;</span><span class="p">),</span> <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Top Ten Important Variables&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>0.0148713087517
0.0
[ 0.02588781  0.10778862  0.00734994  0.02090219  0.02231172  0.00778016
  0.00556834  0.01097013  0.00734689  0.0017027   0.00622544  0.01140843
  0.00530896  0.00031185  0.01135318  0.          0.01488991  0.01840559
  0.00585621  0.00652523  0.0066759   0.00727607  0.00955013  0.01004672
  0.01785864  0.00855197  0.00985739  0.01477432  0.02184904  0.01816184
  0.00878854  0.02078236  0.01310288  0.00844302  0.01596395  0.01825196
  0.01817367  0.00297759  0.00084823  0.02808718  0.02917066  0.00897034
  0.01139324  0.01532409  0.01467681  0.0032855   0.01066291  0.00581661
  0.00955357  0.00417743  0.01333577  0.00489264  0.0128039   0.01340195
  0.01286394  0.01619219  0.00395603  0.00508973  0.          0.00234757
  0.00378329  0.00502684  0.01732834  0.01178674  0.00030035  0.01189509
  0.00942532  0.00841645  0.01571355  0.00288054  0.          0.0011667
  0.00106548  0.00488734  0.          0.00200132  0.00062765  0.04130873
  0.10076558  0.00022293  0.00165858  0.00308408  0.0008255   0.        ]
</pre>
</div>
</div>

<div class="output_area"><div class="prompt"></div>


<div class="output_png output_subarea ">
<img src="
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
Zhn9f6qhvL/yXzRlAAAAAElFTkSuQmCC
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[125]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># XTR</span>
<span class="n">clf4</span> <span class="o">=</span> <span class="n">ExtraTreesRegressor</span><span class="p">(</span><span class="n">n_jobs</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span> <span class="n">max_depth</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span><span class="n">random_state</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
<span class="n">clf4</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">x_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="k">print</span> <span class="n">clf4</span><span class="o">.</span><span class="n">score</span><span class="p">(</span><span class="n">x_test</span><span class="p">,</span> <span class="n">y_test</span><span class="p">)</span>
<span class="n">test_pd4</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">()</span>
<span class="n">test_pd4</span><span class="p">[</span><span class="s1">&#39;predict&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">clf4</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">x_test</span><span class="p">)</span>
<span class="n">test_pd4</span><span class="p">[</span><span class="s1">&#39;label&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">y_test</span>
<span class="k">print</span> <span class="n">compute_ks</span><span class="p">(</span><span class="n">test_pd</span><span class="p">[[</span><span class="s1">&#39;label&#39;</span><span class="p">,</span><span class="s1">&#39;predict&#39;</span><span class="p">]])</span>
<span class="k">print</span> <span class="n">clf4</span><span class="o">.</span><span class="n">feature_importances_</span>
<span class="c1"># Top Ten</span>
<span class="n">feature_importance</span> <span class="o">=</span> <span class="n">clf4</span><span class="o">.</span><span class="n">feature_importances_</span>
<span class="n">feature_importance</span> <span class="o">=</span> <span class="mf">100.0</span> <span class="o">*</span> <span class="p">(</span><span class="n">feature_importance</span> <span class="o">/</span> <span class="n">feature_importance</span><span class="o">.</span><span class="n">max</span><span class="p">())</span>

<span class="n">indices</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argsort</span><span class="p">(</span><span class="n">feature_importance</span><span class="p">)[</span><span class="o">-</span><span class="mi">10</span><span class="p">:]</span>
<span class="n">plt</span><span class="o">.</span><span class="n">barh</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span><span class="p">),</span> <span class="n">feature_importance</span><span class="p">[</span><span class="n">indices</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s1">&#39;dodgerblue&#39;</span><span class="p">,</span><span class="n">alpha</span><span class="o">=.</span><span class="mi">4</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">yticks</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span> <span class="o">+</span> <span class="mf">0.25</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">X</span><span class="o">.</span><span class="n">columns</span><span class="p">)[</span><span class="n">indices</span><span class="p">])</span>
<span class="n">_</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Relative importance&#39;</span><span class="p">),</span> <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Top Ten Important Variables&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area"><div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>0.020808034579
0.0
[ 0.00950112  0.17496689  0.00476969  0.00538677  0.00898343  0.01604885
  0.0139889   0.00605683  0.0042762   0.00358536  0.0144985   0.00915189
  0.00643305  0.00637134  0.0050764   0.00218012  0.00925068  0.00363339
  0.00988441  0.00645297  0.00662444  0.00934969  0.00739012  0.00635592
  0.00633908  0.00923972  0.01263829  0.01190224  0.00914159  0.00402144
  0.00917841  0.01456563  0.01161155  0.01097394  0.00506868  0.00772159
  0.00560163  0.01132941  0.00172528  0.0085601   0.01282485  0.00970629
  0.00956066  0.00731205  0.02087289  0.00430205  0.0062769   0.00765693
  0.00922104  0.00296456  0.00563208  0.00459181  0.0133819   0.00548208
  0.00450864  0.0132415   0.00677772  0.00509891  0.00108962  0.00578448
  0.00934323  0.00715127  0.01078137  0.00855071  0.00695096  0.01488993
  0.00317962  0.00485367  0.00476553  0.00509674  0.          0.00733654
  0.00097223  0.00380448  0.00534715  0.00356893  0.0128526   0.11944538
  0.11758343  0.00195945  0.00225379  0.00243429  0.0007562   0.        ]
</pre>
</div>
</div>

<div class="output_area"><div class="prompt"></div>


<div class="output_png output_subarea ">
<img src="
AAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcXFWd/vFPEUISQnUr0mFTEFwelqAsEgSRTVBEGVmM
I8gEQWSRcRTGQeHHoiCouMyAiKCAEmECDuOgoIAw7GgSNlFZvrgwGAlIGk3TSachdOr3xzltFU2v
t6uru9PP+/XKq29X3XvOud9O11Pn3tt1S5VKBTMzMxu6NUZ7AGZmZuOVQ9TMzKwgh6iZmVlBDlEz
M7OCHKJmZmYFOUTNzMwKWnO0B2A2Hkk6D9gtf7sV8EegE6gAO0fEC8Ns/0fA64ES8FbgN8AqYElE
vHs4bef2pwArgHUiomO47Q2x7+OAzoj4XsHt1wBuBvavHbukZmAxsEtEPNRjm58DP4qIi4bQz8+B
YyLiiX7WmQfcFREX9nh81OprjeUQNSsgIj7VvSzpj8ChEfFgHds/KLc9CXgR2DUi2uvVfjZafyS+
G3DXMLZfC9iz54MR0SbpSuBIoPbnsznwNuCAoXRShzcr/iP8CcAhajZ8pfzv7yTtDnwFmEIKwVMj
4mZJHwMOBiYDGwGLgDkR8ewQ298NOAeYCrwEnB4RP5d0DLA3KWg2BzqAwyLid301LknAtcACYMfc
10nAccAWwD0RMSevdx2wEJhJmhkfFxELJK0FnAe8E+gCfgGcGBErJD0N3EaaUX8FeA/wDkmdwI3A
xcCrcz3+AMyOiKV5uwuBdwOvBX4QEacDl+Wh/0LS3hHRWrM73wZ+LukzEbEyP3ZU3rZD0kYD9Nc9
zs/kft4FRN63HYCmvN9HRMR9uf29JB0OTAd+Bny2lxofm8dRAp4FPhkRv5e0F/DlmlXPjIjr+/hR
2Rjkc6JmdSZpPeBqUsBsB3wM+E9Jr82r7AIcHRFbkw7TnjfE9ltIQfChiHgbMBu4TNL6eZXdgaMi
YhvgIeDEwTRLCpqtgfnAV0lhvw3wXknb5vXeCFwTEdsCZ+b9BDgLKOf1t83LZ9e0f19EbB0Rc4Gb
gC9HxGXAR4BbImJX4A2kkDmkZrvJEfHOvE+flbQBcATVw+a1AUo+GvA4cGCu1ZrAR4EL8ioD9Xd/
HucNVGeSuwLNEbFzrs81wL/VbLMB6c3DDsA7gDkvK6z07lzLXSJiB9Ibg+66nQl8MSJmkd60vGKG
bWObQ9Ss/nYGHu0+vBsRvyUF0+75+RtrzrN9lzTTGopdgQ2B6yU9CPyENBudmZ9fEBFL8vIDwLqD
aLM9Iv43L/8BuDsiOvP5vGdq2lgcEdfm/boWmCZpK2Bf4NsRUYmICim03lvT/t29dRoRXwV+JelE
UrgIWKdmlR/n9f4E/I00g+z2stl5jW+T3rgAfAD4bfdMfBD91R5mLuVt7gDOkXScpK/nNmu3uTwi
Xsznwa8E9ukxnveRZvTz88/rLGB9SdOAq4BLJc0lnVs/vY99sjHKIWpWf739Xk0iHcKFFHi1j3cN
0F7Pc2uTgAcjYvuI2C7PdncB7sjPr+ixbV9hU6vnhVAre13r5WPvHstLvHKfa/cXYFlvjeULtE4G
niaF3209xtvXvvS3Tz8E3iJpE9Ih1O5Z6GD6e8U4JR1EOtzdBfw3cEmPbWp/fiVeWbtJwCXdPy9g
O2BWRKyIiAtIh49vBfYHfp3D1cYJh6hZ/f0S2FrS9gCStiGF3O35+X1qDr0eTTrP2J+egXEP8FZJ
O+X2dyQdwlxviOMs9bHcn03y+V4kzQZaI+Jx0iHa4yStkS+GOg74eR9tvEQ1YN8NfD0i5gFLSecg
Jw0whpdIgTq5tycj4kXge8C/Am/i5fUt0t8+pEPY3wF+RZqJ1m5zqKQ1Ja1NOpT7s/x4d01vAg7L
h+EBTuheR9J9wBYR8X3S/4UZpPOuNk44RM2G72UzxXyR0D8CF0l6CLicdHHP/+VV/kw6R/oI6eKW
gc5Z9mz/aeBDwDcl/Yp0SHh2RDwzjHH3dyVp7XPPA8fm/foUcFB+/AxgOfBr4GHSzPbfetkeUoCc
JOnTebsLJd0LzCPNpt/Yx3YVgIjoAq4H7pX0Rnp3MXAs8J18eLnbkPsDvgW8Lx+KvRN4jHQ+tdsi
0hune4GfRsR/9RjvdaTZ8K25bvsDH8zr/CvwNUkPkP5s56SI+Esf+2RjUMm3QjNrnHx17vu6/4Rl
PMlX594dES0Drmw2QXgmamZD4XfdZjU8EzUzMyvIM1EzM7OCHKJmZmYF+WP/ViOVSqVSKg32LxXM
zCwr/MLpEF2NlEolliyp92eUj08tLWXXInMtqlyLKteiqqWlXHhbH841MzMryDPR1UhbWxvPP+93
lgBrrbXKtchciyrXosq1qBrOTNQhuhqZu7Cdrt4/CW3CWecvsGy5awGuRS3Xosq1SDo72vncGwZe
ry8O0dXItOllukpTRnsYY8La60x1LTLXosq1qHIt6sPnRM3MzApyiJqZmRXkEDUzMyvIIWpmZlaQ
Q9TMzKwgh6iZmVlBDlEzM7OCHKJmZmYFOUTNzMwKcoiamZkV5BA1MzMryCFqZmZWkEN0CCS9R9JR
fTz3akmH1KGPAyRtMNx2zMxs5PkuLkMQETf18/RbgX8A5g2zm08BjwDPDLMdMzMbYQ7RIZB0OLAv
sCmwCHgDsCAijgdOAd4i6aiIuKSP7Z8kBeQjwGXAN0hHA9YDjgPWBbYF5kraNT92CLAKuCoiLhjB
3TMzsyFyiBbzJmBvoBP4o6QvAGcDx/QVoNnGwFsjYqmkDwEnRsTD+TDwERFxjKRfAUfnPj4EvAMo
ATdLuikiftdX4yuWt9NFZ112cLybVHmBFctdC3AtarkWVa5F0tnRDqxfeHuHaDG/j4gOAEmLgamD
3K41Ipbm5aeA0yV1AE1AW816JWAmacb7v/n7V5GCtc8QnTOrPJR9mAAG+2OZCFyLKteiyrUYbg0c
osVUapZL+esqYNIQtjsfODQiQtLnSYFZ204Av42I/QAkfRr4dX+NNzc3s2RJ+6B2YHXX0lJ2LTLX
osq1qHIt6sNX5w5dpY/v/wDMlPQvg9z2B8A1ku4gzTA3yo//Argc+BNwq6S7Jd0LvJE0ezUzszGi
VKn0zAQbr9ra2iqtrX5nCbDeemVci8S1qGpkLcrlJkql0sArjhLPRKtaWsqFf1A+nFtnkvYHTqQ6
6yzl5fMi4scj2ffche10MXkkuxg31vkLLFvuWoBrUatRtejsaGf2TGhqah7xvmx0OUTrLCKuA64b
jb6nTS/TVZoyGl2POWuvM9W1yFyLqsbWYmWD+rHR5HOiZmZmBTlEzczMCnKImpmZFeQQNTMzK8gh
amZmVpBD1MzMrCCHqJmZWUEOUTMzs4IcomZmZgU5RM3MzApyiJqZmRXkEDUzMyvIIdoLSe+UNLPA
dk9IWmskxmRmZmOPQ7R3RwIbF9jON2c1M5tAxuWt0CQdDhwAlIHXAPOAgyNip/z8VcDXgUuBO4G3
AI8BfwF2AzqB/YBTgc2AGcAmwAnAc8C+wHaSHo6IPw+i/zMj4n9I9w5F0tbAN0hvUtYDjouI+ZIe
B+4GtgCeyWPuNXgl3Qb8CpiZ+5kdEYsKlszMzEbAuAzRbO2I2FvSDGAhsEjSFqSgfH1E3CupDFyR
A+xR4NMRcVoOqK1zO50RsZ+kvYET8/KNwLzeArSP/hdI+knNc1vnth6WdAhwBDAf2BzYIyIWS7ob
2DGPvS8LIuIESV8EDgHO7a8gK5a300Vnf6tMGJMqL7BiuWsBrkWtRtWis6MdmDri/djoG88hegdA
RDwr6W/ARaSw+hNwRc16D+avS4FHa5an9nh+EUP7X9+z/xaqh3OfAk6X1AE0AW358SURsXgI/dWO
bf2BBjRnVnnwo58Q/CJW5VpUNaIWU2lqaqJUKjWgr+JaWvyaMVzjOUR3AJC0Pulw54+AzwCtwOya
9QY6T9nb86uASUPovwl4lnw4FzgfODQiQtLngU0HaGsoY+tTc3MzS5a0F+xq9dLSUnYtMteiqpG1
aG1d1pB+ivL/i6rhvJkYzxcWbSjpFuA60jnHFaTzn89GxNK8Tm0I9bbcV0gtAL4kSUPof1VNe1cA
10i6A3gTsNEA4+mNL1IyMxvjSpXK+Hutzhf2KCJO6fH4BcA1EXH7aPQ/BlT8zjLxu+wq16LKtahy
LapaWsqFj7uP58O5LyPpJtI5x9vr2Oa3gK2ozgpLefnqOrX/OmBuL+3fERFfGGp7bW1tPP+8fykA
1lprlWuRuRZVI12Lcnnsnwe1+hqXM1Hr3Tdv/nOli8mjPYwxYZ3pU1nmK1IB16LWSNais6Od2TOn
0tTUPCLt15tnolWeiRoA06aX6SpNGe1hjAlrrzPVtchci6qRr8XKEWzbxqLxfGGRmZnZqHKImpmZ
FeQQNTMzK8ghamZmVpBD1MzMrCCHqJmZWUEOUTMzs4IcomZmZgU5RM3MzApyiJqZmRXkEDUzMyvI
IWpmZlaQQ7QPkt4paWaB7Z6QtNZIjMnMzMYWh2jfjgQ2LrCd7y1nZjZBjNtboUk6HDgAKAOvAeYB
B0fETvn5q4CvA5cCdwJvAR4D/gLsBnQC+wGnApsBM4BNgBOA54B9ge0kPRwRfx5E/2dGxP+QbqyN
pK2Bb5DeqKwHHBcR8yU9DtwNbAE8k8f8iuCV1AQ8ALwpIiqSvgzcFxHXDKduZmZWP+M2RLO1I2Jv
STOAhcAiSVuQgvL1EXGvpDJwRQ6wR4FPR8Rpkm4Dts7tdEbEfpL2Bk7MyzcC83oL0D76XyDpJzXP
bZ3beljSIcARwHxgc2CPiFgs6W5gxzz2l4mI5yXdBbxH0s+B95ICv08rlrfThW++DDCp8gIrfCNq
wLWoNZK16OxoB6aOSNs2do33EL0DICKelfQ34CJSWP0JuKJmvQfz16XAozXLU3s8v4ih/Rb07L+F
6uHcp4DTJXUATUBbfnxJRCweZH+XAP8CTAJujoiX+hvMnFnlIQx9IvALWpVrUTVStZhKU1MTpVJp
hNqvv5YWv2YM13gP0R0AJK1POqz6I+AzQCswu2a9gc5T9vb8KlJ4Dbb/JuBZ8uFc4Hzg0IgISZ8H
Nh2grVeIiHsknUc6P9vvLBSgubmZJUvah9rNaqmlpexaZK5F1UjXorV12Yi1XW/+f1E1nDcT4/3C
og0l3QJcRzrnuIJ0/vPZiFia16kNyN6W+wrYBcCXJGkI/a+qae8K4BpJdwBvAjYaYDx9uRLYICIe
HXBNMzNrqFKlMj4vJs0X9igiTunx+AXANRFx+2j0PwL9fAZojYjvD7RuW1tbpbV17L6zLJcbd6jL
77KrXIsq16LKtahqaSkXfmEa74dzX0bSTaRzjrfXsc1vAVtRnTWW8vLVdWr/dcDcXtq/A3g9sCGw
/2DamruwnS4m12NYddfZ0c7smdDU1DzaQzEzq5txOxO1V7rkF22VrtKU0R5Gr1Ysa2P/zVc2LET9
LrvKtahyLapci6rhzETH+zlRMzOzUeMQNTMzK8ghamZmVpBD1MzMrCCHqJmZWUEOUTMzs4IcomZm
ZgU5RM3MzApyiJqZmRXkEDUzMyvIIWpmZlaQQ9TMzKygYYeopAMkbSBpU0m/rMegerT/DUmvrXe7
jSRppqR39vP87pLmNXJMZmY2fPW4FdqngEeAFxjcTaaHJCJOrHebo+Bg4Bngrn7W8e10zMzGmQFD
NN98en9gGrABcD7wAWBr4N+AbUn3w/wnYIakHwEbAb+OiKMlHQScBLwILI6ID/fT19nAHsAk4L8j
4quSbgOOAQ4BNgNmAJsAJ0TEzZLeD5yem3ggIo6VtDvwReAl4A/AMRHR1UeftwHPAq8G3g9cCLyR
NEs/LSLuGGQfxwIfAfYD1gY2B74C3AJ8FHhB0v0RcV8fu/9mSTcArwEuiojLJO0E/DvpHqNPAR+J
iBf6qp+ZmTXWYA/nrhMR7wPOBY6NiIOAo4EjgAeBOaSQLJMCY2dgL0nrAR8Gzo2I3YDrJTX1088h
+d9uwNL8WO0MrTMi9gM+DZwgaRLwTeC9ETEL+L2kTYDvAAdGxJ7A4jym/lwZEe8GjiTd1HsP4ADg
WwX6aIqI/UlvNE6OiMXA94Fv9BOgkN7QvD/v+0m5dhcBH42InYGfAlv2txMrlrezYlnbmPzX2eH7
FprZ6mewh3MfzF+XAo/WLE/tsd4fI+J5AEnPkmZkJwInS/pk3vbafvo5jDR7Wx+4IT9We7PU7nEs
yn2vB/wtIp4DiIivSWoBNgR+KAnSDPrmAfbv8fx1G2DXPAMskWbEGwzQRymP5WbSjPRXNWMcyh2y
5+fZcpekR4DXA+tHxOO53+8N1MCcWeUhdNdoU2lqaqJUKnzv2yFraRnL9Wgs16LKtahyLYZvsCHa
3/m6VaSw6an71fJo4IyIaJV0EXAg8IOeK0taC5gdEYfk7x+RdNUA43gWaJb0qohYKuk84ApSgH0g
Itol7Q8MNA1alb8+BiyKiC9LmgqcQpplDraPTXuMsVTTfm81qrW9pDVIob8l8HtgsaQ3RMQfJJ0E
RET8uK8Gmpubx/Sd6ltblzWsr5aW8piuRSO5FlWuRZVrUTWcNxPDvTq3AvwCuBxYl5cHSPfyQuCn
km4hzTCv762hiHgR+Kuk+fk85Y0RsaimnVcEeURUgOOBn0m6Mz92L+lw788k3QMcB/x2gH3odjGw
paTbgXuAJ3MfnyjYR3fb9wPH5/OofVlBmn3fSnrTsZR0nvV7uR7bAj/rZ3szM2uwUqXii0JXF21t
bZXW1tF5Z1kuN/ZQ7UD8LrvKtahyLapci6qWlnLhF696/InLkEjakXSBUnd6l/Ly1RFx8Qj1+TrS
FcQ9+7wjIr4wEn32MY7TgL16GccREfHkcNufu7CdLiYPt5kh6+xoZ/ZMaGpqbnjfZmajqeEhmg+F
7tngPhc1us8+xnEWcNZItT9tepmu0lCuZaqnlaPUr5nZ6PHH/pmZmRXkEDUzMyvIIWpmZlaQQ9TM
zKwgh6iZmVlBDlEzM7OCHKJmZmYFOUTNzMwKcoiamZkV5BA1MzMryCFqZmZWkEPUzMysoAkXopKm
SHqij+d2lzQvL19Txz7fJekXkm6X9MN8w28zMxvnJlyIUr39WF8qABHxwTr2eQHwDxGxB/B74Kg6
tm1mZqOk4bdCGw2SpgNXAq8C/pAfmwmcn1d5DjiyxzZPR8SGkm4DfgXMBMrA7IhYJOkcYB/gKWAG
8OGI+FMfQ9gjIlrz8ppAp6Szgaci4kJJrwJuAf4V+ArwAvAdYEvSLdwmAf8dEV8dZinMzKyOJkSI
AscCv4mI0yTNIt0Y+zvAkRHxmKQjgc8CN9dsUztbXRARJ0j6InBIDtZ3RMSOkpqBx/rrPCL+AiDp
IGAP4FRgY2AecCFwKHBFXn1KRLw9r//HvP4zwOED7eSK5e100TnQanXX2dEO+Ai1mU08EyVE3wxc
DxARCyWtJM3yLpQEMBn4XT/bP5i/LgLWBzYD7svttUl6aKABSPo0cDDwnoh4EXhC0vOStgQ+AuwP
bANEzWaHkWam6wM3DNTHnFnlgVYZIVNpamqiVCqNUv+9a2kZrXqMPa5FlWtR5VoM30QJ0UeAXYDr
JG1HCs0A5kTEnyXtAmzQY5vaROh5DvU3wCcllYBpwFb9dS7p/wHbAXtHxAs1T30XOA1YFBF/zYG+
Km+zFunQ8SH5+0ckXRURi/rqp7m5mSVL2vsbyohpbV02Kv32paWlPGq1GGtciyrXosq1qBrOm4mJ
EqIXAXMl3UkKz07gOOAHktYkBdfHSIdYu1V6fP27iHhU0o+A+cBfgBf76ljSDOB04H7gRkkV4OqI
uBi4FvgW6XBuzz5elPRXSfOBDuDG/gLUzMwar1Sp9Hehqg2GpF8C/9jPhUV9bbc2cFtE7FSnoVT8
zjLxu+wq16LKtahyLapaWsqFz0VNlJnoSKsAMyRdTnXm2v2nNN2zzpeRtDNwMXBGvQbR1tbG8883
7peiXB5750HNzBrJIVoHEbFLXtxzCNv8EnhLPccxd2E7XUyuZ5N96uxoZ/ZMaGpqbkh/ZmZjkUN0
NTJtepmu0pQG9riygX2ZmY09E/ETi8zMzOrCIWpmZlaQQ9TMzKwgh6iZmVlBDlEzM7OCHKJmZmYF
OUTNzMwKcoiamZkV5BA1MzMryCFqZmZWkEPUzMysIIeomZlZQQ7RHiRNkfSxOrSzu6R5efma4Y/M
zMzGGofoK20IHFWntioAEfHBOrVnZmZjiG+F9kqnAFtKOhWYBUwhBeupwG3AfOBDpICcB7wjIpb1
16CkpyNiQ0nbAOflh58DjgS2Bz4LvAhsRrqJ9zmSDgJOyo8vjogPDzTwFcvb6aJzqPtbSGdHOzC1
IX2ZmY1VDtFXOhuYCfwCuDMi7pS0M/CFiPiJpMOBS/K6hw0UoFklf/0OcEREPCbpSFJ43gxsAmwD
TAMWA+cAHwbOjYgfSTpMUlNEPN9fJ3NmlYe2p8MylaamJkqlUgP7HJqWlkbWY2xzLapciyrXYvgc
on17Bji15vzomgARcZ+kpcALEfGbIba5JXChJIDJwO/y47+JiArQIakjP3YicLKkTwKPAtcO1Hhz
czNLlrQPcUjFtbYO5v3D6GhpKTe0FmOZa1HlWlS5FlXDeTPhc6KvtAqYBJwFXB4Rh5MO45YAJH0Q
aAdeknTwINvsnq49BsyJiL1Is9Dr8+OVXtY9GjgjIvYk/ZwOLLY7ZmY2UjwTfaVnSbPErYCvSToZ
+DOwnqRNgC8Au5Jqd6ekhRGxaIA2u0PyE8APJK1JCuuPARv3se5C4KeS2kmhfT1mZjamlCqVysBr
2bjQ1tZWaW1t3OGZcnnsnhP1oaoq16LKtahyLapaWsqFX8g8Ex0mSacBe1GdQZby8hER8WQjxzJ3
YTtdTG5IX50d7cyeCU1NzQ3pz8xsLHKIDlNEnEU6fzrqpk0v01Wa0sAeVzawLzOzsccXFpmZmRXk
EDUzMyvIIWpmZlaQQ9TMzKwgh6iZmVlBDlEzM7OCHKJmZmYFOUTNzMwKcoiamZkV5BA1MzMryCFq
ZmZWkEPUzMysoAkbopKmSPpYP8+/U9LMfp4/XNKXRmZ0f+/j+Eb1ZWZmQzdhQxTYEDiqn+eP5JU3
zO5ppG/GemoD+zIzsyGayLdCOwXYMt8PdBbQBEwCTgPagH2B7SQ9DHwAOAhYG2gFDhyocUnrAZcD
r8oPHQ58BHg6Ir4jScBFEbFnH9ufArxa0gXAvYX30szMRsxEDtGzgW2AMvDziPimpI2AuyNic0k3
AvOAp4B1I+JdAPnxHQfR/qnAj3Ngvr2PbfqcXUbEOZL+OSL+WdLhg9mhFcvb6aJzMKsOW2dHOzC1
IX2ZmY1VEzlEu20JXAkQEYsltUlq6X4yIiqSVkqaBywnHeKdPIh2BVya25gPzJd0Rs3zpXrtQLc5
s8r1brIfU2lqaqJUqvtu1E1LSyPrMba5FlWuRZVrMXwTOURXkc4JPwrsBjwkaWPg1cBz+flJkrYB
DoiIt0uaBtzP4ALwEdJh4t9I2g3YD/grsFF+fvtBtDGkhGpubmbJkvahbDIsra3LGtbXULW0lBta
i7HMtahyLapci6rhvJmYyCH6LGlG2Qy8UdIHSccnPx4RqyQtAL4EHAIsk3QXKdQWUw3C/nwJuEzS
YaRA7r4S+Ic5VO8fRBuPSJoL3DKE/TIzswYpVSq+6HN10dbWVmltbdw7y3J57B7O9bvsKteiyrWo
ci2qWlrKhV/IJvJMtC4k/TfpEHC3ErA0Iga8gjdvfxqwF9WLjEp5+YiIeHIoY5m7sJ2uQZ2uHb7O
jnZmz4SmpuaG9GdmNhY5RIcpIg4e5vZnAWfVYyzTppfpKk2pR1ODtLKBfZmZjT0T+cMWzMzMhsUh
amZmVpBD1MzMrCCHqJmZWUEOUTMzs4IcomZmZgU5RM3MzApyiJqZmRXkEDUzMyvIIWpmZlaQQ9TM
zKwgh6iZmVlBDtE6kbS7pHmjPQ4zM2sch2h9+easZmYTiG+FNgBJhwMHAGXgNaTbln0dUES8KOlL
wKPAk8CbJd2Q17soIi7ro81NgeuAVuBnwI3A+fnp54AjI6Jd0jeBWcBk4IyIuG6EdtPMzApwiA7O
2hGxt6QZwEL6nsGvCbyfFHoPSfpxRDzXx7rrA9tFRJekX5Juwv2YpCOBz0q6D3hNROwkqRk4kRS8
fVqxvJ0uOgvs3tB1drQDUxvSl5nZWOUQHZw7ACLiWUl/A7aoea5Uszw/IrqALkmPAK8nzSx780Re
F2BL4EJJkAL4d8CbgV/mftuAMwYa5JxZ5cHuTx1MpampiVKpNPCqo6SlpZH1GNtciyrXosq1GD6H
6ODsACBpfaAJ+BOwkaQngW2BR/J620taA5hGCto/9NNm7fnTx4A5EfFnSbsAGwArgQ/lfpuBqyNi
3/4G2dzczJIl7UPdt8JaW5c1rK+hamkpN7QWY5lrUeVaVLkWVcN5M+EQHZwNJd1CCtDjgI1I5zKf
AP5as94K4AbgVaRzmEv7abM2RD8B/EDSmsAq4GMR8XtJ+0i6C5gEfL5eO2NmZvVRqlR8QWl/8oVF
iohTRnssg1DxO8vE77KrXIsq16LKtahqaSkXPi/lmegIkvRx4FCqs85SXj45IhbUu7+2tjaef74x
vxTl8tg+H2pm1ggO0QFExOXD2Pa7wHfrOJx+zV3YTheTR7yfzo52Zs+EpqbmEe/LzGwsc4iuRqZN
L9NVmtKg3lY2qB8zs7HLn1hkZmZWkEPUzMysIIeomZlZQQ5RMzOzghyiZmZmBTlEzczMCnKImpmZ
FeQQNTMzK8ghamZmVpBD1MzMrCCHqJmZWUEOUTMzs4LGfIhKeo+ko+rQzu6S5hXY7vgBnm+RdK2k
2yXdJWmzQbY7U9KuefkJSWsNdWxmZja6xnyIRsRNEXFJnZorcgfyUwd4/lzgiojYAzgN2GKQ7R4M
bDWMcZmZ2Sgb87dCk3Q4sC+wKbAIeAOwMCI+IWkD4D9JIfQIMDMi9hxEm8cDBwFrA63AgcBmwPdI
9/hag3RDr5vHAAAMVUlEQVQz7cOBdSVdEBH/3Edz7wAeknQz8ATwKUmbAlfn8XYvzwS2A64HLgQ+
Crwg6UHSzbq/LWnzvC8HAjN6jicinupvv1Ysb6eLzoF2f9g6O9qBqSPej5nZWDfmQ7TGm4C9gU7g
D5JmkGZ+V0bEpZIOAbYeZFuviYh3AUi6EdiRFHALgJOA3YDmiDhH0j/3E6AArwf+GhH7SDoN+Cwp
/DbL451OCtcN89ifjIhTJX0feDoi7pUEcElE/FLSZcA+pBB92XiAfkN0zqzyIHd/uKbS1NREqVRq
UH/FtLQ0qh5jn2tR5VpUuRbDN55C9PcR0QEg6WnSVGgz4KL8/G3AxwfZ1ov5/OhyYGNgMnApKQBv
ApYCp+R1B0qKVuC6vHwd8EVSiP4xIpZJWgk8ExFteeyr+mjngfz1L6QZcl/j6VNzczNLlrQPtFpd
tLYua0g/RbW0lBtWi7HOtahyLapci6rhvJkY8+dEa9SeN+wOtoeAd+blHQfTiKRtgAMi4hDgk8Ck
3N4HgLsiYm/gGlKA1fbVl7uB/fLybsDDvaxT6mV5FS+vf8/zon2Nx8zMxojxMhPtGTDd338F+L6k
g4C/DbKt3wHLJN1FCrTFwEakQ6eXS3qRFG6fzus/LGluRMzpo73PAJdI+gRpxngo8KoeY+5t+X7g
XEmP9fH8fT3Gc8Ig98/MzBqkVKmsHheGKp1Y/HZE7DXaYxktbW1tldbWkT08Uy6P/XOh4ENVtVyL
KteiyrWoamkpF35RGy8z0UGTdCrwLqozulJePiIinizY5uuAub20eUdEfGF4I66fuQvb6WLyiLXf
2dHO7JnQ1NQ8Yn2YmY0nq02IRkQA3bPQL9a57UXAgH86M9qmTS/TVZoywr2sHOH2zczGj/F0YZGZ
mdmY4hA1MzMryCFqZmZWkEPUzMysIIeomZlZQQ5RMzOzghyiZmZmBTlEzczMCnKImpmZFeQQNTMz
K8ghamZmVpBD1MzMrKDV5gPoxxpJmwJXRcTOw2jjAGA+MGW4bZmZWf15Jjqyhnuz1k8BTXVqy8zM
6mzCzkQlHQ7sB6wNbA6cC3wUOCYiHpd0DLA+cDlwNbAI2DQvzwS2BX4WEf+vn25mSLo2t/PTiPii
pDcClwCTgQ7gwxHxXC/j2y/3MRf4p+HvsZmZ1duEDdGsKSLem4PtOuDpPtbbDNgbmA48AWwIdAJP
Av2F6HTgMFJY3inpJ8CZwNkRcbOk9wPbAbf03DAifibpQeAY4MXB7MyK5e100TmYVQvp7GgHpo5Y
+2Zm481ED9Ff5a+LeGU6lGqW/xgRyyStBJ6JiDYASasGaP+hiFiW170XeHP+Nx8gIq4fYPtSj3H0
65P7vHbQ6xaz/sg2X2ctLeXRHsKY4VpUuRZVrsXwTfRzoj3PM3YCG+Xl7fvYptTHcm+2krS2pDWB
WcBvgUfzMpIOlXR8P9uvovozGuGANDOzoZroIVqrApwPXCjpBl5em8oglnvzHOkc6t3Af0XEY8BJ
wMmSbgUOBa7sZ/tfkM6JrjuIvszMrMFKlYpfm83MzIqY6OdEh03Sx0kzyu53I6W8fHJELBjE9vsD
J/ay/XkR8eP6j9jMzOrFM1EzM7OCfE7UzMysIB/OHecklYALgbeSri4+KiL+OLqjapx85fNlwOuB
tYCzgUeA75Oubv5tRPR3BfRqR9IM4D7S3zZ3MUFrIelzwD+QPtjkQuBOJmAt8u/I5aTfkZeAjzMB
/19I2gn4ckTsKekN9LL/+fTc0cBK0t/z/3Sgdj0THf8OAKZExC7AycA3Rnk8jXYY0BoRuwH7AheQ
anBKROwOrCHpA6M5wEbKL5gXkT7gAyZoLSTtDuycfy/2ADZhgtaC9MlskyLiHcBZwDlMsFpI+jfg
u6TPIYde9l/S+sAngZ1JryVfkjR5oLYdouPfrsCNAPlCpreN7nAa7ofAaXl5Eumd9vYRcVd+7AbS
jGyi+BrwbWAx6SK1iVqL9wC/zR+7+RPgeiZuLR4H1sxHrZpJs6yJVovfAwfWfL9Dj/3fh/T3+3dH
xEsR8TzwO+AtAzXsEB3/moC2mu9fkjRhfq4R0RERyyWVgf8ifQxj7QdTtJNeOFZ7kj4KPBsRN1Ot
Qe3/hQlTC2A9YAfgg8BxpL/Hnqi1WEb66NLHgItJfw8/oX5HIuJ/SG+wu/Xc/yagzMtfS5cxiLpM
mBfb1djzpB9+tzUiYqCPI1ytSHodcCtweURcRTrP0a0MLB2VgTXeEcA+km4jnSOfC7TUPD+RavEc
cFOeVTxOul6g9gVxItXiBODGiBDV/xdr1Tw/kWrRrbfXiOep3jWr9vF+OUTHv3tI5zyQ9HbgN6M7
nMbK5zFuAk6KiMvzww9K2i0vvxe4q9eNVzMRsXtE7BkRe5I+F/qfgBsmYi1InxK2L4CkjUg3g/jf
fK4UJlYt/kp1hrWUdEHpgxO0Ft0e6OX34l5gV0lrSWoGtiB9VGu/fHXu+Pc/pNnHPfn7I0ZzMKPg
ZOBVwGmSTid9UMWngG/miwIeBa4ZxfGNts8A351otYiIn0p6p6SFpEN3xwH/B1wy0WoB/AdwmaQ7
SVcqfw64n4lZi26v+L2IiIqk80lvwEqkC48GvIOWP2zBzMysIB/ONTMzK8ghamZmVpBD1MzMrCCH
qJmZWUEOUTMzs4IcomZmZgX570TNxjhJm5I+//Rh0t+vrUH6NJW5EfH5Aba7PSI262edHYGDI+Jz
+QbxO/TX5iDGugNwTEQcXbSNIfb39/E3oj+znhyiZuPDUxGxffc3kjYEfidpXkREP9sN9IfgWwEz
ACLiOuC64QwyIu4n3UqqUf4+frPR4BA1G582yl/bASR9FvgQaZZ6U8+ZmaSZpA8en04Kna8DPwDO
BKZLOpl055c9gB8BR0fE/nnb44E3AScCXwV2J90x5/sRcV6PfnYHPp/v2Xgb8CDpDiFTgX/J/7YC
/j0izpN0BvBm4A3AusB3IuJr+Y4j/wG8i/Q5p1dExLm5/XPzfj4FbFcz/guAS4GNc33ujIjD8zan
kG4PtyXwa+DQiHhJ0gnAMaQPJ78+z8hnkD6o/bW571Mi4n8H/6OxicTnRM3Gh40lPSDpUUlLSOF3
QEQslvQe0h1L3gZsD7xW0qE9tv8YcFZE7ATsBZwTEW3A6cBPIuJLeb0K6dZQ2+XPDwU4BLiCdDPn
SkS8DdgJOEDSO3oZa+3stxIRb8nbn0+6HdVuwBk162wN7JnHf4ykbYFjgddGxMzc18GS3pvXfxOw
Z0Qc0GP87wMezPfNfDOwi6Tt8jY7A58gheimwHvyoeBjc79vBbbP658HXBoROwIfAC6WNL2X/TRz
iJqNE09FxPYRsSXVu3Dclp/bm3QvxPuBB0iBunWP7f8VmCbpc8DZpBlpryLiJdJs9GBJmwDrRsR9
uZ9/kPQgsIA049tmgHHfkL8+CcyPiBci4k+8/I4q8yJiRb6H449Js8+9gO/n8awg3crsXdUhxrJe
xn0VcIukTwHfJM1s18lP/zYino6ICumzUtclhfl1EbEsIroi4t0R0T1zPjPv5w2kWfcbBthPm6B8
ONds/DmJdJeWzwBfIb3I/0dE/AeApCbS4cna26D9F+n2YNcBVwH/OEAfVwJnkcLmP/Njk0h3y7k2
9/Ma0j0X+1P7Ad4v9bFO7eOTSDeNLvVYp0T19WpFb41I+iRwEOlQ7M3AzJp2OmtWreTHV/bYfkPS
Id81gL0iYmnN48/0MXab4DwTNRsf/h4qEdFFCtD/l8/f3Qr8k6TpktYkzeY+2GP7vYHT88VDewDk
844v0cub6YhYQDqveBjpUCy5n6MlrSlpHdLdLnYa7v4AB0qaLOnVwPuBn5Nm2YdLWkPS2sBHqM68
a9WOf2/g4jwjLQHbkkK5L3cB75W0dq7bPNIs/lbgeABJW5HOoa5dbDdtdecQNRsfXnaVbUTcBPwS
+GJEXE86/LqA9IL/QETM7bH954F7JN0H7EO6LdhmwELg7ZLO6dkHcDWwLCL+L39/EelPbR7M210a
EXcOdsz9PLeCFMj3kM7VPkaaTT4FPEQ6TH1tRPy4l3Zqx//vwOfzPl6Q2+vtz3sqAPnQ7QXA/LxP
t0fEraSLn94u6SFSsH4kIpb3sy82gflWaGY2avLVuZWIOHO0x2JWhGeiZmZmBXkmamZmVpBnomZm
ZgU5RM3MzApyiJqZmRXkEDUzMyvIIWpmZlaQQ9TMzKyg/w8hycl3QEtk6QAAAABJRU5ErkJggg==
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="&#20316;&#19994;&#65306;">&#20316;&#19994;&#65306;<a class="anchor-link" href="#&#20316;&#19994;&#65306;">&#182;</a></h2><h3 id="1.-feature-engineering">1. feature-engineering<a class="anchor-link" href="#1.-feature-engineering">&#182;</a></h3><h3 id="2.-stacking">2. stacking<a class="anchor-link" href="#2.-stacking">&#182;</a></h3><h3 id="3.-&#30011;&#20986;ROC&#26354;&#32447;&#21644;KS&#26354;&#32447;&#23545;&#27604;">3. &#30011;&#20986;ROC&#26354;&#32447;&#21644;KS&#26354;&#32447;&#23545;&#27604;<a class="anchor-link" href="#3.-&#30011;&#20986;ROC&#26354;&#32447;&#21644;KS&#26354;&#32447;&#23545;&#27604;">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 特征工程方法1：histogram</span>
<span class="k">def</span> <span class="nf">get_histogram_features</span><span class="p">(</span><span class="n">full_dataset</span><span class="p">):</span>
    <span class="k">def</span> <span class="nf">extract_histogram</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
        <span class="n">count</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">histogram</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">bins</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">1000</span><span class="p">,</span> <span class="mi">10000</span><span class="p">,</span> <span class="mi">100000</span><span class="p">,</span> <span class="mi">1000000</span><span class="p">,</span> <span class="mi">9000000</span><span class="p">])</span>
        <span class="k">return</span> <span class="n">count</span>
    <span class="n">column_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;hist_{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">8</span><span class="p">)]</span>
    <span class="n">hist</span> <span class="o">=</span> <span class="n">full_dataset</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">row</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">extract_histogram</span><span class="p">(</span><span class="n">row</span><span class="p">)),</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
    <span class="n">hist</span><span class="o">.</span><span class="n">columns</span><span class="o">=</span> <span class="n">column_names</span>
    <span class="n">RETURN</span> <span class="n">hist</span>
<span class="c1"># 特征工程方法2：quantile</span>
<span class="n">q</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.1</span><span class="p">,</span> <span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">,</span> <span class="mf">0.4</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">,</span> <span class="mf">0.6</span><span class="p">,</span> <span class="mf">0.7</span><span class="p">,</span> <span class="mf">0.8</span><span class="p">,</span> <span class="mf">0.9</span><span class="p">]</span>
<span class="n">column_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;quantile_{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">q</span><span class="p">]</span>
<span class="c1"># print pd.DataFrame(train_x)</span>
<span class="n">quantile</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">x_train</span><span class="p">)</span><span class="o">.</span><span class="n">quantile</span><span class="p">(</span><span class="n">q</span><span class="o">=</span><span class="n">q</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">T</span>
<span class="n">quantile</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="n">column_names</span>
<span class="c1"># 特征工程方法3：cumsum</span>
<span class="k">def</span> <span class="nf">get_cumsum_features</span><span class="p">(</span><span class="n">all_features</span><span class="p">):</span>
    <span class="n">column_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;cumsum_{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">all_features</span><span class="p">))]</span>
    <span class="n">cumsum</span> <span class="o">=</span> <span class="n">full_dataset</span><span class="p">[</span><span class="n">all_features</span><span class="p">]</span><span class="o">.</span><span class="n">cumsum</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
    <span class="n">cumsum</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="n">column_names</span>
    <span class="k">return</span> <span class="n">cumsum</span>
<span class="c1"># 特征工程方法4：特征归一化</span>
<span class="kn">from</span> <span class="nn">sklearn.preprocessing</span> <span class="kn">import</span> <span class="n">MinMaxScaler</span>
<span class="n">Scaler</span> <span class="o">=</span> <span class="n">MinMaxScaler</span><span class="p">()</span>
<span class="n">x_train_normal</span> <span class="o">=</span> <span class="n">Scaler</span><span class="o">.</span><span class="n">fit_transform</span><span class="p">(</span><span class="n">x_train_normal</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
    </div>
  </div>
</body>
</html>
